使用Entity Framework配合.NET Core和DB2数据库。

3

有人使用过.NET Core和EF Core的DB2吗?我们尝试找到兼容的驱动程序,但似乎没有。有人找到了在.NET Core 3.0中使用DB2的方法吗?

谢谢!

3个回答

4
IBM现在发布了一个新版本3.1.0.300IBM.EntityFrameworkCore,可以在nuget上使用,适用于EF Core 3.1。
为使其正常工作,我需要做一些事情:
- 从passport advantage下载针对DB2版本11.5的新版许可证文件。 - 将许可证文件复制到C:\Users\{YourUserNameHere}\.nuget\packages\ibm.data.db2.core\3.1.0.300\buildTransitive\clidriver\license
我假设用户可以访问IBM Passport Advantage,不知道试用许可证。
找到许可证文件下载位置有些困惑,但我解决了,并在此提供步骤以帮助其他人: 注意:在.NET Core 3.1中仍然可以使用旧的库,只要EF本身没有更新到3.1版本即可。问题在于与EF 3.1的兼容性,而不是.NET Core 3.1。只要避免更新EF nuget包到较新的版本,一切都将正常工作。

2
由于IBM糟糕的.Net支持,没有核心3.0或标准2.1支持。如果联系他们的支持,据说在2020年3月会提供alpha驱动程序。您可以在link中查看部分对话。

为了跟进这个问题。他们发布了一个3.1 alpha驱动程序,但是您需要联系他们的支持团队才能获得访问权限,并且只能通过他们的Passport Advantage页面下载。它有一些小错误,但现在它支持基本值转换器,例如字符串修剪或smallInt字段到布尔值。 - Delubear
2
IBM几天前在nuget.org发布了与EF Core 3.1兼容的提供程序。 - Shahin Dohan

0

Database Providers EF Core帮助页面上列出了针对Db2的软件包。个人没有使用过它们,但如果它们在那里列出,应该可以正常工作。


1
好的,这些来自2018年,似乎支持Core 2.x。因此,可以说目前还没有针对DB2的.NET Core 3.0驱动程序 - 除非IBM正在开发? - ewomack
NuGets的目标是.NET Standard 2.0,这意味着它们与实现.NET Standard 2.0的任何内容兼容,即.NET Core 2.x 3.x。自2018年以来可能根本不需要任何更改。提供程序非常低级。主要工作(以及大部分更改)发生在EntityFrameworkCore和EntityFrameworkCore.Relational中。 - Chris Pratt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接