【发布时间】:2019-02-09 21:03:03
【问题描述】:
我正在使用 Entity Framework Core 2.1。我首先搭建我的实体类,也就是数据库。当我尝试从其中一个 db 表中获取数据时,我收到错误消息“'server' 不支持关键字。”
我用谷歌搜索了一下,我的连接字符串似乎不正确。这是我的json文件中的设置
"DefaultConnection": "\"Server=myDb.com;Database=MyDb;user id=admin;Password=Password;MultipleActiveResultSets=true;Provider=System.Data.SqlClient"
我见过其他类型的 EF 连接,例如
connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=(local);initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework""
我不确定 .csdl、ssdl 和 msl。
感谢任何帮助。谢谢。
错误:
System.ArgumentException:不支持关键字:“服务器”。
在 System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary
2 parsetable, String connectionString, Boolean buildChain, Dictionary2 同义词,布尔 firstKey)
在 System.Data.Common.DbConnectionOptions..ctor(字符串 connectionString,Dictionary2 synonyms)1.get_Value() 在 Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(布尔错误预期) 在 Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable
at System.Data.SqlClient.SqlConnectionString..ctor(String connectionString)
at System.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String connectionString, DbConnectionOptions previous)
at System.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup(DbConnectionPoolKey key, DbConnectionPoolGroupOptions poolOptions, DbConnectionOptions& userConnectionOptions)
at System.Data.SqlClient.SqlConnection.ConnectionString_Set(DbConnectionPoolKey key) at System.Data.SqlClient.SqlConnection.set_ConnectionString(String value) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerConnection.CreateDbConnection() at Microsoft.EntityFrameworkCore.Internal.LazyRef1.Enumerator.BufferlessMoveNext(DbContext _, Boolean buffer) at Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerExecutionStrategy.Execute[TState,TResult](TState state, Func3 操作,Func3 verifySucceeded) at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable1.Enumerator.MoveNext() 在 Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider._TrackEntities[TOut,TIn](IEnumerable1 results, QueryContext queryContext, IList1 entityTrackingInfos, IList1 entityAccessors)+MoveNext() at Microsoft.EntityFrameworkCore.Query.Internal.LinqOperatorProvider.ExceptionInterceptor1.EnumeratorExceptionInterceptor.MoveNext() 抛出异常:Microsoft.EntityFrameworkCore.dll 中的“System.ArgumentException” “dotnet.exe”(CoreCLR:clrhost):已加载“C:\Program Files\dotnet\shared\Microsoft.NETCore.App\2.1.2\System.IO.MemoryMappedFiles.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。 程序“[3112] dotnet.exe”已退出,代码为 -1 (0xffffffff)。
【问题讨论】:
标签: sql-server entity-framework .net-core