1

添加实体时出现以下错误
“此 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();
    }

任何帮助将不胜感激,因为我不知道从哪里开始......

谢谢

4

1 回答 1

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.
 }

(我不知道您的其余代码,但是..从我读过的内容来看,这可能是一个解决方案)

于 2012-09-13T01:08:28.387 回答