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

linq to sql 通用持久性方法的问题?
我试图采用泛型类和Linq To sql写一个通用的数据库持久性方法(包括:新增数据和修改数据保存),如: 

public void Save(T entity)
{
  //实现过程  
  ........
}

这里就遇到一个问题,在这个方法内部如何同时实现新增和更新的两种情况?
或者说,我怎么判定这个实体entity到底是新增的对象还是已经存在的对象需要修改的?

------解决方案--------------------
有必要这样吗?
直接insertOnsubmit()/DeleteOnSubmit()/SubmitChanges()


如果非要一个方法搞定,那只能用SubmitChanges()

------解决方案--------------------
不知道你的系统的完整设计是怎样的。原则上,如果一个对象是从一个数据库连接中查询出来的,并且没有Delete它,那么Save的时候就应该Update;否则就应该自动Insert它。