我正在尝试尽可能部分地使用上下文,因为我希望我的软件被多个用户使用并且我已经遇到了上下文集成的问题......所以我正在做的是这样调用上下文:
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) - 如果它是我什至没有从任何地方带走的新成员,如何分离它?