私はこのようにプロジェクトを構造化しています: データ層 - モデル用 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 を同時に注入し、依存性注入を確実に行いたいと考えています。
重要な要素は、後でこれから他のソリューション (おそらくポータル) を分離できることです。すべての意見を歓迎します。