あなたが見ることができるように、私はこのような構造を持つクラスがたくさんある:コンストラクタでのデシベルコンテキストはninjectの.asによって注入されEFが返すExecuteReaderには、開いて利用可能な接続が必要です。接続の現在の状態は開いています。エラー
public class OrganizationUserRepository : IOrganizationUserRepository
{
private DataContext _ctx;
public OrganizationUserRepository(DataContext ctx)
{
_ctx = ctx;
}
public bool Add(OrganizationUser entity)
{
try
{
_ctx.OrganizationUsers.Add(entity);
_ctx.SaveChanges();
return true;
}
catch (Exception ex)
{
// TODO log this error
return false;
}
}
public bool Edit(OrganizationUser entity)
{
try
{
OrganizationUser Edited = _ctx.OrganizationUsers.Where(i => i.Id == entity.Id).First();
_ctx.Entry(Edited).CurrentValues.SetValues(entity);
_ctx.SaveChanges();
return true;
}
catch (Exception ex)
{
// TODO log this error
return false;
}
}
public bool Remove(string id)
{
try
{
Int64 Id = Int64.Parse(id);
OrganizationUser obj = _ctx.OrganizationUsers.Where(i => i.Id == Id).First();
_ctx.OrganizationUsers.Remove(obj);
_ctx.SaveChanges();
return true;
}
catch (Exception ex)
{
// TODO log this error
return false;
}
}
}
私は、マルチクラスを持っている.AND私のクラスのひとつ、それを見ることができます。単一DBを使用する他のサービス(WCFサービス)で、この.Butように私は私のWCFトレースログでこのエラーを取得する:
ExecuteReader requires an open and available Connection. The connection's current state is open.
私は最初のEFコードを使用しています。
私はこれを見つけましたWrap DbContext db = new DbContext() inusing statement.
そして、私はこれを使用すべきかどうかを知りたがっています。私のクラス構造を自分のコードで使用するように変更できますか?
私は思いますそれはoopで間違っています。依存関係マッパーを共有できますか? –
しかし、それは私の問題を解決しました –
どの部分が間違っていますか? –