当前位置: 首页 > 知识库问答 >
问题:

提供IDbContextFactory的实现。但是在哪里呢?

韩鸿
2023-03-14

我试图运行迁移与自定义DbContext。

var migrationConfiguration = new DbMigrationsConfiguration { AutomaticMigrationsEnabled = true };
migrationConfiguration.ContextType = typeof(DataContext);
var migrator = new DbMigrator(migrationConfiguration);
migrator.Update();

这会引发迁移异常,因为DataContext未实现无参数构造函数:

“目标上下文”系统。数据实体DbContext“”不可构造。添加默认构造函数或提供IDbContextFactory的实现。

DataContext构造函数需要参数,但我已经有了IDbContextFactory


共有1个答案

关项明
2023-03-14

IDbContextFactory

另一种方法是继承DbConfiguration并在派生类的无参数构造函数中设置工厂(我使用MEF来获取从IDbContextFactory派生的类):

public class DataContextConfiguration : DbConfiguration
{
    public DataContextConfiguration()
    {
        SetContextFactory(() => (DataContext)new CompositionManager().Container.GetExportedValue<IDataContextFactory>().Create());
    }
}

 类似资料:
  • 我查了Javadoc,什么也没有得到。我想知道这是怎么回事。 我找到了这个和这个,但这并不能消除我的疑虑。如果我漏了什么请告诉我。

  • 问题内容: JUnit4库中有一个方法。我喜欢它,但是缺少一种库中不存在的方法。为什么会这样呢? 我发现我可以代替使用,但看起来仍然不合逻辑。 问题答案: 只要测试没有引发异常,它就会通过,除非您的注释指定了预期的异常。我想可能会抛出一个特殊的异常,JUnit总是将其解释为通过,从而使测试短路,但这会违背通常的测试设计(即假设成功,并且仅在断言失败时失败),并且如果有人最好使用的想法,这将大大减慢

  • 问题内容: 我无法在任何地方找到append()或任何其他内置函数的实现代码?我尝试通过godoc查找代码,并使用IDE的跳转到定义功能。可能是我在看错地方。谁能告诉我看实际实施的方式吗? 问题答案: 您可能会感兴趣: 代码生成位在这里https://github.com/golang/go/blob/master/src/cmd/compile/internal/gc/ssa.go 和,由前者使

  • 问题内容: 我正在使用来自包java.sql的接口连接 实际上,我虽然是一个Class,但是当我尝试查看源代码时却发现它是一个Interface。 在Connection接口的源代码中,每种方法只有一行,没有任何实现!! 是什么让这个界面正常工作? 要连接的数据库:MySql 连接源代码页:http : //www.docjar.com/html/api/java/sql/Connection.j

  • Java坚持 注释是在没有特定实现的情况下定义的。 实际验证在哪里实施?如何扩展此功能以允许管理员覆盖? 虽然这里没有显示,但我已经将组用于此约束的另一个目的。

  • 我正在使用Akka HTTP作为REST支持,我需要在我正在开发的服务器的另一部分中使用Actors。我的理解是,通常需要在整个应用程序中使用一个ActorSystem实例。从akka.Http.scaladsl.Http.apply()的定义来看,当我使用Http方法时,就像下面的代码片段-- ---Http对象的apply()方法被提供了一个隐式ActorSystem实例...为了便于参考,h