.NET Standard 2.0 / EntityFrameworkCore / DB2 / IBM.EntityFrameworkCore问题

时间:2017-08-20 13:53:37

标签: db2 .net-core entity-framework-core .net-standard-2.0

这里有人有IBM.EntityFrameworkCore套餐的经验吗?我在VS2017中创建了一个.NET Standard 2.0库项目,添加了提到的包,并尝试通过IBM网站上的thisthis教程使其工作,没有运气。我得到了编译的项目,但在运行时我得到一个System.TypeLoadException,其中包含以下消息:

Method 'ApplyServices' in type 'IBM.EntityFrameworkCore.Infrastructure.Internal.Db2OptionsExtension' from assembly 'IBM.EntityFrameworkCore, Version=1.1.1.101, Culture=neutral, PublicKeyToken=7c307b91aa13d208' does not have an implementation.

任何帮助将不胜感激!

谢谢!

更新:一旦我尝试使用上下文,就会发生异常。这意味着成功创建上下文之后, DbContext.OnConfiguring调用之前发生。

1 个答案:

答案 0 :(得分:2)

我已经解决了。事实证明,如果未在与上下文相同的程序集(项目)中定义实际实体类型(即MyType),则会发生此异常。在我的解决方案中,我在一个项目中定义了实体类型,并在另一个项目中定义了DbContext,当然,它引用了第一个项目。

我有这样设计的原因在于有两个不同的包(取决于实际操作系统):IBM.EntityFrameworkCoreIBM.EntityFrameworkCore-lnx。所以我创建了两个不同的项目,每个项目引用其中一个包。不过,我想要将所有实体类型定义一次......但显然它不能像那样工作。

更新:遗憾的是,事实证明这不是唯一的问题。我遇到了另一个,描述了here。阅读DB2 .NET团队的大拇指!与...合作总是令人沮丧。