我正在试验 Entity Framework ,我想连接到 Access 2007 数据库。
我怀疑我搞错了......
OleDbConnectionStringBuilder oledbConn = new OleDbConnectionStringBuilder();
oledbConn.DataSource = @"..\..\..\..\Pruebas.accdb"; //yep Access 2007!
EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder ();
entityBuilder.Provider = "Microsoft.ACE.OLEDB.12.0";
entityBuilder.ConnectionString = oledbConn.ToString();
EntityConnection ec = new EntityConnection(entityBuilder.ToString());
ec.Open();
ec.Close();
EntityConnectionStringBuilder 告诉我它不支持 DataSource 属性。我可以很好地连接 ADO.net,所以我知道路径和提供程序是正确的。
这是完全错误的方法吗?
最佳答案
您用来构建 EF 连接字符串的方法是正确的。
但是...
Entity Framework 只与支持提供者服务的提供者(即 SqlClient)一起工作。
OleDB 提供程序不支持“提供程序服务”,因此您不能将 EF 与 OleDb 一起使用(除非您可以找到支持 EF 的第三方 OleDb 提供程序)。
希望对你有帮助
亚历克斯
( Entity Framework 团队,微软)
关于c# - 具有 OleDB 连接的 Entity Framework - 我只是疯了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1132720/