我在看一本书,里面提到使用Linq to sql新增一条记录是这样的。
ctx.tbGuestBooks.Add(model);
ctx.SubmitChanges();
但是,在自己的项目中(.Net Framework 4.0 )却没有这个Add方法,而只有InsertOnSubmit()方法,所以只能这样使用。
ctx.tbGuestBooks.InsertOnSubmit(model);
ctx.SubmitChanges();
为什么在我的项目中没有Add这个方法呢?
EF中是有的,linq to sql 没有过。
EF的用法跟LinqToSql差不多。
我查了下,好似Add是早期Linq的方法,较新版本的Linq用InsertOnSubmit,求证实。
/// <summary> /// 增删改 /// </summary> /// <param name="model"></param> /// <param name="type">0:添加 ; 1:修改 ; 2:删除</param> /// <returns></returns> public static bool InsertOrUpdate(T_Object model, int type) { switch (type) { case 0: Session = new DataContext(); model.F_UpdateTime = DateTime.Now; model.F_CreateTime = DateTime.Now; model.Version = 1; model.F_Id = Guid.NewGuid(); Session.T_Object.InsertOnSubmit(model); break; case 1: break; case 2: model = GetAll().First(x => x.F_AutoId == model.F_AutoId); model.F_IsDel = 1; break; } try { Session.SubmitChanges(); return true; } catch { return false; } }
貌似是这样的,我是这样处理增删改的,我不是物理删除,希望能帮到你...