EF 代码优先 - 数据库自定义初始化程序总是给出异常 - 无法加载文件或程序集
EF Code first - database custom Initializer always giving excpetion - Could not load file or assembly
我正在使用 EF 代码优先方法开发 Web 应用程序。
一切似乎都运行良好,我设置了
<contexts>
<context type="XYZ.LogDal.LogContext, XYZ.LogDal">
<databaseInitializer type="XYZ.Common.EntityFramework.DatabaseInitializer, XYZ.Common" />
</context>
在 web.config 中,然后我得到这些异常:
{"Could not load file or assembly 'XYZ.EntityFramework' or one of its dependencies. The system could not find the file.":"XYZ.EntityFramework"}
{"Could not load type 'XYZ.Common.EntityFramework.DatabaseInitializer' from assembly 'XYZ.Common'.":"XYZ.Common.EntityFramework.DatabaseInitializer"}
DBContext (LogContext) 在名为 XYZ.LogDal 的程序集中。
初始化程序在另一个名为:XYZ.Common 的程序集中,位于命名空间:XYZ.Common.EntityFramework
我不想在代码中设置初始值设定项,像这样:
Database.SetInitializer(new DatabaseInitializer<LogContext>());
我想在 web.config 中执行此操作,框架应在其中找到此自定义初始化程序并使用它。
我重建了项目并更新了引用的程序集。 类 的访问级别是 public,我做了其他问题中推荐的所有操作,但没有任何运气......
如果你能推荐我任何解决方案就太好了
非常感谢!
问题是,您没有指定 DatabaseInitializer
的通用参数。试试这个:
<databaseInitializer type="XYZ.Common.EntityFramework.DatabaseInitializer`1[[XYZ.LogDal.LogContext, XYZ.LogDal]], XYZ.Common" />
我正在使用 EF 代码优先方法开发 Web 应用程序。 一切似乎都运行良好,我设置了
<contexts>
<context type="XYZ.LogDal.LogContext, XYZ.LogDal">
<databaseInitializer type="XYZ.Common.EntityFramework.DatabaseInitializer, XYZ.Common" />
</context>
在 web.config 中,然后我得到这些异常:
{"Could not load file or assembly 'XYZ.EntityFramework' or one of its dependencies. The system could not find the file.":"XYZ.EntityFramework"}
{"Could not load type 'XYZ.Common.EntityFramework.DatabaseInitializer' from assembly 'XYZ.Common'.":"XYZ.Common.EntityFramework.DatabaseInitializer"}
DBContext (LogContext) 在名为 XYZ.LogDal 的程序集中。
初始化程序在另一个名为:XYZ.Common 的程序集中,位于命名空间:XYZ.Common.EntityFramework
我不想在代码中设置初始值设定项,像这样:
Database.SetInitializer(new DatabaseInitializer<LogContext>());
我想在 web.config 中执行此操作,框架应在其中找到此自定义初始化程序并使用它。
我重建了项目并更新了引用的程序集。 类 的访问级别是 public,我做了其他问题中推荐的所有操作,但没有任何运气......
如果你能推荐我任何解决方案就太好了
非常感谢!
问题是,您没有指定 DatabaseInitializer
的通用参数。试试这个:
<databaseInitializer type="XYZ.Common.EntityFramework.DatabaseInitializer`1[[XYZ.LogDal.LogContext, XYZ.LogDal]], XYZ.Common" />