我有一个这样的项目结构:数据层 - 用于模型 MVC 网站 - 用于所有其他相关的 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 并且仍然确保依赖注入。
重要的因素是能够在以后从中产生任何其他解决方案(可能是门户)。欢迎所有意见。