ソフトウェアを複数のユーザーが使用できるようにしたいので、コンテキストを可能な限り部分的に使用しようとしていますが、コンテキストの統合にすでに問題があります...したがって、私が行っているのは、次のようなコンテキストを呼び出すことです。
entityManager = new EntityManager();
IEnumerable<customers_question_set> customersQuestionSets =
entityManager.GetTradersCustomersQuestionSets(trader.id).ToArray<customers_question_set>();
entityManager = null;
このように、私はすべてを= nullで閉じるだけでなく、.ToArray()によってコンテキストからオブジェクトを切り離すと信じています。
しかし今、データベースに新しいアイテムを追加しようとしていますが、問題が発生しました。これが私の行動です:
private void button1_Click(object sender, EventArgs e)
{
trader trader = new trader();
trader.companies.Add(parent.GetCompany());
trader.login = textBox1.Text;
trader.password_hash = Hasher.ToSha256Hash(textBox2.Text);
EntityManager entityManager = new EntityManager();
entityManager.SaveTrader(trader);
entityManager = null;
this.RefreshLists();
}
public class EntityManager
{
private mentor11Entities Mentor11Entities = new mentor11Entities();
private mentor11Entities GetMentor11()
{
return this.Mentor11Entities;
}
public void SaveTrader(trader trader)
{
GetMentor11().traders.AddObject(trader);
GetMentor11().AcceptAllChanges();
GetMentor11().SaveChanges();
}
[...]
}
エラーはGetMentor11()。traders.AddObject(trader)で発生します-それがどこからも取得しなかった新しいメンバーである場合、それをデタッチする方法は?