添加实体时出现以下错误
“此EntitySet中已存在具有相同标识的实体”
令人沮丧的是,这是一个间歇性的问题,我很难重现。
我的代码:
private void OKButton_Click(object sender, RoutedEventArgs e)
{
this.IsHitTestVisible = false;
Form Form = _context.Forms.FirstOrDefault();
Form.Transactions.Add(new Transactions
{
Comments = textbox_taskcomments.Text,
By = UserID,
Name = Name,
IssuedOn = DateTime.Now,
StatusID = StatusID
});
this.DialogResult = DevExpress.Xpf.Core.DialogResult.OK;
this.Close();
}
任何帮助都会受到赞赏,因为我不知道从哪里开始......
由于
答案 0 :(得分:1)
您是否尝试过contains
方法?
包含:指定EntitySet是否包含特定实体。
在修改之前,您应该检查EntitySet
的内容。
Transactions t = new Transactions{
Comments = textbox_taskcomments.Text,
By = UserID,
Name = Name,
IssuedOn = DateTime.Now,
StatusID = StatusID
};
//check that the entity does not yet contain t
if(!Form.Transactions.Contains(t)){
//do something.
}
(我不知道你的其他代码,但是......从我read开始,这可能是一个解决方案)