问题描述
我读过in the docs,您必须将SystemNaming
属性设置为true才能在连接字符串中使用库列表属性。我看不到使用IBM.EntityFrameworkCore的方法。
在设置中:
"ConnectionStrings": {
"CodeCamp": "Server=serverURL.com:446; Database=DB; UID=user; PWD=password; LibraryList=MyLib;"
在DBContext.cs
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseDb2(_config.GetConnectionString("CodeCamp"),p =>
{
p.SetServerInfo(IBMDBServerType.AS400,IBMDBServerVersion.AS400_07_01);
p.UseRowNumberForPaging();
p.MaxBatchSize(1);
});
}
解决方法
您应该声明一个UseDb2
,而不是将连接字符串传递给DB2Connection
。此连接将允许您设置SystemNaming
。然后,您可以将DB2Connection
传递给UseDb2
。这需要IBM.Data.DB2.Core软件包。
DB2Connection connection = new DB2Connection(connectionString);
connection.SystemNaming = true;
optionsBuilder.UseDb2(connection,p =>
{
p.SetServerInfo(IBMDBServerType.AS400,IBMDBServerVersion.AS400_07_01);
p.UseRowNumberForPaging();
p.MaxBatchSize(1);
});