0
我的C#MVC网站使用StructureMap进行依赖注入。为什么添加Effort.EF6单元测试后,我不能运行我的C#MVC网站?
我的DbContext的构造函数过去如下。
public class PortalEntityModel : DbContext
{
public PortalEntityModel() : base("name=PortalEntityModel")
{
}
}
现在我已经添加Effort.EF6为了单元测试,我不得不改变我的DbContext构造函数。
public class PortalEntityModel : DbContext
{
public PortalEntityModel(DbConnection connection) : base(connection, true)
{
}
}
虽然我现在可以单元测试我的代码。我无法运行该网站,因为StructureMap无法创建自变更。
没有默认实例注册,并且不能为类型“System.Data.Common.DbConnection”
自动确定如何,我可以告诉StructureMap如何像以前一样初始化我的DbContext,同时允许工作。 EF6也可以工作?
编辑 - 当网站启动如下
public static void Start()
{
IContainer container = IoC.Initialize();
StructureMapDependencyScope = new StructureMapDependencyScope(container);
DependencyResolver.SetResolver(StructureMapDependencyScope);
DynamicModuleUtility.RegisterModule(typeof(StructureMapScopeModule));
}
当网站开始
[assembly: PreApplicationStartMethod(typeof(StructuremapMvc), "Start")]
[assembly: ApplicationShutdownMethod(typeof(StructuremapMvc), "End")]
你能告诉我们如何使用StructureMap注册PortalEntityModel吗? – YuvShap
你有一个DbConnection的依赖,你很可能还没有注册它。结果,StructureMap不知道如何解析PortalEntityModel。 –
@SomeUser,我已经添加了用于初始化结构映射到代码 –