我有一個這樣的結構項目: 數據層 - 對於模型 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