我有一个简单的实体框架代码优先上下文,用于在事件从总线到达时持久化它们。上下文是:
public class MyContext : DbContext
{
public MyContext (DbConnection connection)
: base(connection, false)
{
Database.SetInitializer<MyContext>(null);
Configuration.AutoDetectChangesEnabled = true;
}
public DbSet<MyEvent> MyEvents { get; set; }
}
MyEvent 在哪里
public class MyEvent
{
public int Id { get; set; }
public string Source { get; set; }
public string MessageId { get; set; }
public DateTime EventDate { get; set; }
}
现在,当我尝试访问 context.MyEvents 集合时,我得到一个 ReflectionTypeLoadException
无法加载一种或多种请求的类型。检索 LoaderExceptions 属性以获取更多信息。
与 LoaderException
“来自程序集 'YYYY' 的类型 'XXXX' 中的方法 'ToCombinedRows' 没有实现。”
现在这真的很奇怪,因为类型 XXXX 与被持久化的对象完全无关,并且没有理由拥有这个名称的方法。
所有对象都在同一个程序集中定义,我从一个集成测试项目运行,引用 CopyLocal 设置为 true。有谁知道如何让我的上下文与数据库对话?