DB2的实体框架

时间:2013-12-04 13:17:29

标签: entity-framework db2

我需要设置Entity Framework以使用DB2数据库。主要原因是拥有漂亮的对象模型而不是数据集和存储过程。

我的问题:

  1. EF的版本是否重要?我想使用v6,但到目前为止我只发现了对v4的引用。
  2. 我是否需要使用edmx文件,还是可以使用DBContext(首先使用现有数据库代码)?
  3. 配置文件应该如何?

4 个答案:

答案 0 :(得分:7)

关于你的问题:

  1. DB2的标准数据提供程序不支持EF6,Code-First,Code-First Migrations。如果您的方案需要这些功能,则应使用第三方数据提供程序。
  2. 是的,您可以通过Database-First方法将DbContext类与标准数据提供程序一起使用,即不使用Code-First / Code-First Migrations功能。
  3. 这取决于所使用的方案和数据提供程序。使用标准数据提供程序时,只需在配置文件的DbProviderFactories部分中注册实体框架提供程序即可部署应用程序。 使用支持EF6的EF6和数据提供程序时,还需要在entityFramework部分注册实体框架提供程序(例如,请参阅this article)。
  4. 请使用实体框架支持(包括EF6)查看我们的数据提供者dotConnect for DB2

    http://www.devart.com/dotconnect/db2/features.html

    http://www.devart.com/dotconnect/db2/docs/

    DataDirect还为DB2提供数据提供程序 - http://www.datadirect.com/support/product-documentation/product-information/support-matrices/datadirect-connect-for-ado-net/entity-framework-data-providers,但它不提供对Entity Framework 6的支持。

答案 1 :(得分:4)

好消息:您可以使用IBM提供的nuget包: http://www.nuget.org/packages/EntityFramework.IBM.DB2/

享受!

答案 2 :(得分:0)

Microsoft还有一个DB2实体提供程序,作为其Microsoft Host Integration Server产品的一部分: http://msdn.microsoft.com/en-us/library/dn192288(v=bts.80).aspx

答案 3 :(得分:0)

有关EF 6支持DB2的其他新闻

您可以在此处找到EF支持的官方nuget包 http://www.nuget.org/packages/EntityFramework.IBM.DB2/
它不支持迁移。

如果您需要迁移,您也可以使用此包(除了以前的包) https://www.nuget.org/packages/System.Data.DB2.EntityFramework.Migrations/
你可以在这里找到更多信息 https://db2ef6migrations.codeplex.com/