【问题标题】:How do I get the data provider for IBM DB2 for iSeries?如何获得 IBM DB2 for iSeries 的数据提供者?
【发布时间】:2020-07-20 20:54:59
【问题描述】:

我正在尝试使用 Entity Framework 将我的 .NET 应用程序连接到 DB2 for iSeries 数据库 (v7.2),但是当我尝试创建模型时没有看到相应的数据提供者。请参阅下面的屏幕截图。

我已经对此问题进行了一些研究,并且还查看了以前回答的问题,并且我知道我应该安装 something 以显示该数据提供程序,但是什么我到底应该安装吗?有一些可用于 DB2 的 NuGet 包似乎完全没有任何作用,而我发现的一个第三方提供程序仅适用于 DB2 Universal,而我坚持使用 DB2 for iSeries。

【问题讨论】:

    标签: .net entity-framework db2


    【解决方案1】:

    在连接 DB2 数据库时,您可能无法使用向导生成模型。根据我的阅读,不支持诸如代码优先之类的功能,因此我不会在生成器/向导的任何手持操作上屏住呼吸。我也不会指望 EF Core 支持,尽管其他人可能具有连接到 DB2 数据源的相关经验。

    这意味着您可能需要手动设置 DbContext 和实体配置。为您的 DbContext 提供一个到 DB2 服务器的连接字符串并不困难,并首先将其中一个实体设置为 DbSet 以验证您是否可以连接、读取和写入数据库。通常需要解决的问题是数据类型映射和表之间的任何关系,然后在查询实体时,提供程序可能会限制 Linq 操作的转换方式。

    我将从:https://www.nuget.org/packages/EntityFramework.IBM.DB2/ 开始,然后查看此处提供的文档:https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.swg.im.dbclient.adonet.doc/doc/c0061830.html

    在 EF 方面,熟悉 EntityTypeConfiguration 以将实体配置为表结构。 (或者在 DbContext 上使用 OnModelCreating 覆盖。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多