日期:2014-05-20  浏览次数:20987 次

LINQ更新:找不到行或行已更改,
public bool AddCaseType(casetype_tbl casetype)
        {
            var aaa1 = db.GetChangeSet();
            var aad1 = aaa1.Deletes;
            var aai1 = aaa1.Inserts;
            var aa21 = aaa1.Updates;//【这个地方这3个都是0】

            if (casetype.typename == "")
            {
                return false;
            }
            else if (casetype.typenamechild == "")//typename不能重复
            {
                int c = db.casetype_tbl.Count(p => p.typename.Trim().Equals(casetype.typename) && p.typenamechild == "");
                if (c > 0)
                {
                    return false;
                }
            }
            else//不能重复
            {
                int c = db.casetype_tbl.Count(p => p.belongs.Trim().Equals(casetype.belongs) && p.typename.Trim().Equals(casetype.typename) && p.typenamechild.Trim().Equals(casetype.typenamechild));
                if (c > 0)
                {
                    return false;
                }
            }

            var aaa = db.GetChangeSet();
            var aad = aaa.Deletes;
            var aai = aaa.Inserts;
            var aa2 = aaa.Updates;//【这个地方updates就变成1了,然后已提交就提示:找不到行或行已更改】
          //【这个updates的对象是我以前改过的,但是在改的时候就已经SubmitChanges过了,到这里不知道为什么又出来了】
            db.casetype_tbl.InsertOnSubmit(casetype);
            db.SubmitChanges();
            return true;