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 に答える