0

我尝试使用以下代码更新一行,但它添加了一个新行,我找不到我的错误在哪里。

这是我的代码:

public int SaveTerm(Term term)
{
    using (AshyanehDataContext dc = this.conn.GetContext())
    {
        if (term.TermID > 0)
        {
            dc.Terms.Attach(dc.Terms.Single(t => t.TermID == term.TermID));
            dc.Terms.ApplyChanges(term);

        }
        else
        {
            term.AddedDate = FarsiLibrary.Utils.PersianDateConverter.ToPersianDate(DateTime.Now).ToString("D");
            dc.Terms.AddObject(term);
        }
        dc.SaveChanges();
    }
    return term.TermID;
}
4

1 回答 1

0

我改变这部分

if (term.TermID > 0)
{
    dc.Terms.Attach(dc.Terms.Single(t => t.TermID == term.TermID));
    dc.Terms.ApplyChanges(term);

}

if (term.TermID > 0)
{
    Term _term = dc.Terms.First(t => t.TermID == term.TermID);
    _term.Terms = term.Terms;
}

它有效

于 2012-07-17T21:19:41.623 回答