Csharp/C#教程:与OleDB连接的entity framework – 我只是简单的坚果?分享


与OleDB连接的entity framework – 我只是简单的坚果?

我正在尝试entity framework,我想连接到Access 2007数据库。

以下代码的灵感来自https://msdn.microsoft.com/en-us/library/system.data.entityclient.entityconnection.connectionstring.aspx

我怀疑我的错误结束了……

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团队,微软)

我不确定你有没有结束。 ?

请查看此示例 。 您的代码可能存在其他问题,但是当您需要设置其ProviderConnectionString属性(以及其他属性)时,您似乎正在设置实体构建器的ConnectionString属性。

在我看来,对于称为“连接字符串构建器”的东西,ConnectionString属性应该是只读的(它不是)。 我想它也可以兼作连接字符串解析器。

编辑:我刚看了你的代码,我认为你所要做的就是将ConnectionString更改为ProviderConnectionString。 毕竟你可能有棒!

要构建连接字符串,请在桌面上创建一个名为a.udl的文件

双击它,应该打开一个UI。 按照向导,测试连接。

然后关闭UI,用记事本打开文件,你就有了连接字符串。

编辑您可能因为错过了推荐而收到此错误。 entity framework使用扩展方法。 因此,它可能会编译但仍然不起作用。

可能OleDb不适用于EF,但如果以这种方式设置entityBuilder和oledbConn,初始化工作正常。

上述就是C#学习教程:与OleDB连接的entity framework – 我只是简单的坚果?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

  OleDbConnectionStringBuilder oledbConn = new OleDbConnectionStringBuilder(); oledbConn.Provider = "Microsoft.Jet.OLEDB.4.0"; oledbConn.DataSource = @"C:UsersUtenteDocumentsvisual studio 2013ProjectsHow to implement the1DebugTest.mdb"; EntityConnectionStringBuilder entityBuilder = new EntityConnectionStringBuilder(); entityBuilder.Provider = "System.Data.EntityClient"; string connectionString = string.Format("metadata=res://*/School.csdl|res://*/School.ssdl|res://*/School.msl;provider=System.Data.OleDb;provider connection string='{0}'", oledbConn); entityBuilder.ConnectionString = connectionString; EntityConnection ec = new EntityConnection(entityBuilder.ToString()); ec.Open(); ec.Close(); 

www.ctvol.com true Article Csharp/C#教程:与OleDB连接的entity framework – 我只是简单的坚果?分享

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/957041.html

(0)
上一篇 2021年11月21日 上午8:49
下一篇 2021年11月21日 上午8:50

精彩推荐