0

I was developing an app using Database first and the app is connected to my .\SQLEXPRESS, now I want to change it to a local mdf file.

This is original string:

<add name="caloriedatabaseEntities1" connectionString="metadata=res://*/calorie.csdl|res://*/calorie.ssdl|res://*/calorie.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=VULE-PC\SQLEXPRESS;initial catalog=caloriedatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

This is first try(files are coppied to project folder manually)

<add name="caloriedatabaseEntities1" connectionString="metadata=res://*/calorie.csdl|res://*/calorie.ssdl|res://*/calorie.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\caloriedatabase.mdf;integrated security=True;connect timeout=30;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.EntityClient" /></connectionStrings>

And seccond try

<add name="caloriedatabaseEntities1" connectionString="metadata=res://*/calorie.csdl|res://*/calorie.ssdl|res://*/calorie.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;initial catalog=caloriedatabase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

Error:

  System.ArgumentException was unhandled
  HResult=-2147024809
  Message=Format of the initialization string does not conform to specification starting at index 102.
  Source=EntityFramework
  StackTrace:
       at System.Data.Entity.Core.EntityClient.Internal.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, String& keyname, String& keyvalue)
       at System.Data.Entity.Core.EntityClient.Internal.DbConnectionOptions.ParseInternal(IDictionary`2 parsetable, String connectionString, IList`1 validKeywords)
       at System.Data.Entity.Core.EntityClient.Internal.DbConnectionOptions..ctor(String connectionString, IList`1 validKeywords)
       at System.Data.Entity.Core.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
       at System.Data.Entity.Core.EntityClient.EntityConnection..ctor(String connectionString)
       at System.Data.Entity.Internal.LazyInternalConnection.InitializeFromConnectionStringSetting(ConnectionStringSettings appConfigConnection)
       at System.Data.Entity.Internal.LazyInternalConnection.TryInitializeFromAppConfig(String name, AppConfig config)
       at System.Data.Entity.Internal.LazyInternalConnection.Initialize()
       at System.Data.Entity.Internal.LazyInternalConnection.CreateObjectContextFromConnectionModel()
       at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()
       at System.Data.Entity.Internal.InternalContext.Initialize()
       at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)
       at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
       at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
       at System.Data.Entity.Infrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider()
       at System.Linq.Queryable.Select[TSource,TResult](IQueryable`1 source, Expression`1 selector)
       at Calorie1.Form1.updateListViewItem(caloriedatabaseEntities1 context) in c:\Users\Vule\Documents\Visual Studio 2013\Projects\Calorie1\Calorie1\Form1.cs:line 117
       at Calorie1.Form1.startCalorie() in c:\Users\Vule\Documents\Visual Studio 2013\Projects\Calorie1\Calorie1\Form1.cs:line 79
       at Calorie1.Form1..ctor() in c:\Users\Vule\Documents\Visual Studio 2013\Projects\Calorie1\Calorie1\Form1.cs:line 18
       at Calorie1.Program.Main() in c:\Users\Vule\Documents\Visual Studio 2013\Projects\Calorie1\Calorie1\Program.cs:line 18
       at System.AppDomain._nExecuteAssembly(RuntimeAssembly assembly, String[] args)
       at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
       at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       at System.Threading.ThreadHelper.ThreadStart()
  InnerException:
phil652
  • 1,484
  • 1
  • 23
  • 48
Vulisha
  • 35
  • 8
  • 3
    What do you mean by doesn't work exactly? – Salah Akbari Jul 15 '16 at 13:28
  • 1
    Just like Akbari said we need to know what you mean by it doesn't work. If you get an error message add it to your question. – phil652 Jul 15 '16 at 13:29
  • Try to see http://stackoverflow.com/questions/4116994/sql-server-express-connection-string-for-entity-framework-code-first. It may help you. – edo Jul 15 '16 at 13:34

1 Answers1

1

Try one of those:

<add name="caloriedatabaseEntities1" connectionString="metadata=res://*/calorie.csdl|res://*/calorie.ssdl|res://*/calorie.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\caloriedatabase.mdf;Initial Catalog=caloriedatabase;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient&quot;" providerName="System.Data.EntityClient" /></connectionStrings>


<add name="caloriedatabaseEntities1" connectionString="metadata=res://*/calorie.csdl|res://*/calorie.ssdl|res://*/calorie.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=(LocalDb)\MSSQLLocalDB;AttachDbFilename=c:\mypath\caloriedatabase.mdf;Initial Catalog=caloriedatabase;Integrated Security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

Don't forget to adjust path on second one, AttachDbFilename=...

Jorge Rojas
  • 485
  • 3
  • 10