当我尝试使用 ObjectContext 连接到 LocalDB 数据库时,收到“关键字不支持错误”。
这是我的连接字符串:
<add name="connStr" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=proj1db;Integrated Security=True" />
这是尝试创建 ObjectContext 实例的代码:
var connectionString = ConfigurationManager
.ConnectionStrings["connStr"]
.ConnectionString;
ObjectContext _context = new ObjectContext(connectionString);
最后一行抛出 System.ArgumentException:不支持关键字:'数据源'。
我正在使用 Visual Studio 2012 for Web 并面向 .NET Framework 4.5。我的机器上安装了 LocalDB。
如果我使用 DbContext 代替,它会起作用:
public class proj1dbContext: DbContext
{
public proj1dbContext() : base("name=connStr")
...
看来这是一个类似的问题 Help with EF Code first connection string 但不幸的是,它没有给出为什么实例化 ObjectContext 会抛出该错误的明确答案。
感谢任何帮助。谢谢!
最佳答案
ObjectContext
采用 EF 连接字符串(带有 Metadata
和 Provider Connection String
关键字),而不是特定于提供程序的连接字符串。
您不能将 ObjectContext 与 Code-First 一起使用; ObjectContext 需要元数据 XML 文件。
关于asp.net-mvc - 不支持关键字 : 'data source' .:使用 ObjectContext 和 LocalDB 的 EF 代码优先,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14087430/