当我尝试使用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:不支持关键字:'data source'。
我正在使用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会抛出该错误的明确答案。
任何帮助都是适用的。谢谢!
答案 0 :(得分:3)
ObjectContext
采用EF连接字符串(包含Metadata
和Provider Connection String
个关键字),而不是提供者特定的连接字符串。
您不能将ObjectContext与Code-First一起使用; ObjectContext需要元数据XML文件。