代码优先迁移中的IDbContextFactory <t>有什么意义?</t>

时间:2014-02-17 17:11:23

标签: c# .net entity-framework dependency-injection ef-migrations

How do I inject a connection string into an instance of IDbContextFactory?以及几个基本相似的问题之后,我想知道IDbContextFactory<T>对于实体框架迁移的重点是什么。

根据MSDN,IDbContextFactory<T>完全是关于design-time support,这与Code-First Migrations似乎并不特别相关。

实现的任何工厂类必须自己实现默认构造函数(这是EF / Migrations使用的那个),并且必须实现通用的T Create()方法。这似乎是一个重复的抽象,我看不到它增加了任何东西(也许这对于设计时方法来说是必要的。)

这意味着没有办法进行任何构造函数注入,这意味着我实际上无法真正使用它,因为各种参数(包括但不限于nameOrConnectionString直到运行时才知道)。另请参阅Entity Framework 4.3.1 migrations always invokes default constructor and ignores connectionstringManually Provide DbContext to DbMigrator。一堆黑客。

特别是EF,IoCDependency Injection特别总是看起来像是一个想法,如果有的话。

0 个答案:

没有答案