这里有人有IBM.EntityFrameworkCore套餐的经验吗?我在VS2017中创建了一个.NET Standard 2.0库项目,添加了提到的包,并尝试通过IBM网站上的this和this教程使其工作,没有运气。我得到了编译的项目,但在运行时我得到一个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
调用之前发生。
答案 0 :(得分:2)
我已经解决了。事实证明,如果未在与上下文相同的程序集(项目)中定义实际实体类型(即MyType
),则会发生此异常。在我的解决方案中,我在一个项目中定义了实体类型,并在另一个项目中定义了DbContext
,当然,它引用了第一个项目。
我有这样设计的原因在于有两个不同的包(取决于实际操作系统):IBM.EntityFrameworkCore和IBM.EntityFrameworkCore-lnx。所以我创建了两个不同的项目,每个项目引用其中一个包。不过,我想要将所有实体类型定义一次......但显然它不能像那样工作。
更新:遗憾的是,事实证明这不是唯一的问题。我遇到了另一个,描述了here。阅读DB2 .NET团队的大拇指!与...合作总是令人沮丧。