私はasp.net mvc 4に取り組んでいます.コードファーストモデルでninjectとリポジトリパターンを使用して依存性注入を実装しようとしています.
IMessageRepository
public interface IMessageRepository
{
void IsMessageRead();
}
メッセージリポジトリ
public class MessageRepository:IMessageRepository
{
string id="";
public MessageRepository(string idparam)
{
id=idparam;
}
EFMsgContext context=new EFMsgContext(id);
public void IsMessageRead()
{
...
}
}
EFMsgContext
public class EFMsgContext:Dbcontext
{
public EFMsgContext(string id):base("MyContext")
{
//based on id i will construct a connection string from my database.
}
....
}
私のコントローラー
public class MYController:Controller
{
private IMessageRepository repo;
public MYController(IMessageRepository repoparam)
{
repo=repoparam;
}
public ActionResult Index()
{
repo.IsMessageRead();
}
}
そして、依存性注入にNinjectを使用しています。インターフェイスを具体的なクラスにバインドします。
ninjectKernel.Bind<IMessageRepository>().To<MessageRepository>();
ここで、コンストラクターのパラメーターをバインディングに渡す方法と、ninjectcontrollerfactory 内で接続文字列を構築するためのロジックを記述する方法はありますか。私を導いてください。