私は現在MVC4プロジェクトに取り組んでおり、Ninjectを使用してUnitOfWorkをコントローラーに注入し、UnitOfWork +GenericRepositoryパターンを使用しています。
VS2012 MVC4テンプレートは、データベースアクセス(dbの初期化など)を直接使用するため、好きではありません。
私のプロジェクトは次のように分かれています。
フォーム認証を使用したUIプロジェクト(mvc4アプリケーション)
ドメインプロジェクト(dbエンティティ、リポジトリ、UnitOfWorkインターフェイスに加えて2つのUnifOfWork実装(1つはMOQ、もう1つはEF)。これらはNinjectを介してUIコントローラーに注入されます)。
私はこの例を見ました:
http://kevin-junghans.blogspot.it/2013/03/decouple-simplemembership-from-your.html
この質問に関連する
SimpleMembership-誰かがそれをn層フレンドリーにしましたか?
そして今、私はいくつかの質問があります:
ここにUoWを注入するにはどうすればよいですか?WebSecurityクラスは静的であり、コンストラクターはありません。UoWを直接インスタンス化して、dbでアクティビティを実行します...
DBに直接アクセスするには、常にWebMatrixを初期化する必要がありますか?このコード:
public static void Register() { Database.SetInitializer<SecurityContext>(new InitSecurityDb()); SecurityContext context = new SecurityContext(); context.Database.Initialize(true); if (!WebMatrix.WebData.WebSecurity.Initialized) WebMatrix.WebData.WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); }
ドメインとのデカップリングを壊します..たとえば、UnitOfWorkを使用してWebSecurityを作成するにはどうすればよいですか?ベストプラクティスは何ですか?
- ユーザープロファイルにアクセスするたびにデータベースクエリを実行せずに、追加のデータ(EmailAddressなど)を保存して取得するにはどうすればよいですか?古いCustomPrincipalのようなもの...ASP.NETMVCのカスタムプリンシパル
ありがとうございました!