我有一个这样的结构项目: 数据层 - 对于模型 MVC网站 - 所有其他mvc网站相关。StructureMap和多层MVC解决方案
我希望我的控制器同时注入数据库上下文和服务,并且仍然确保依赖注入。
这里是我的代码 我的控制器:
private CMSDB _db;
public HomeController(CMSDB db)
{
_db = db;
}
我的数据库上下文
public class CMSDB : DbContext
{
public CMSDB() : base("DefaultConnection"){ }
public DbSet<Employee> Employees { get; set; }
public DbSet<Department> Departments { get; set; }
public DbSet<UserDatails> Users { get; set; }
public DbSet<UserRole> UserRoles { get; set; }
public DbSet<Module> Modules { get; set; }
}
模型在一个单独的项目
public class Module : IModule
{
public virtual int ID { get; set; }
public virtual string Name { get; set; }
public virtual DateTime? DateCreated { get; set; }
public virtual string ModuleDescription { get; set; }
}
我与模型
同一项目界面public interface IModule
{ }
我希望我的控制器能够同时注入CMSDB和IModule,并确保依赖注入。
重要的因素是能够产生任何其他解决方案(门户可能),从这以后。欢迎所有意见。
我觉得我可以将'IModule'服务传递给控制器构造函数,IModule实现'CMSDB',挑战是模型'Module'和'IModule'在同一个项目中(一个库项目)我觉得虽然不合适。 – Peter 2014-10-04 14:59:47
您是否知道“MVC”是一种与语言无关的架构模式,并且**不是框架的名称**? – 2014-10-04 15:00:44
我想你是问这是因为我的网站命名?那么,我完全理解。我只将它命名为MVC网站,以提醒自己我已将其作为设计模式。 – Peter 2014-10-04 15:07:33