linq to sql 通用持久性方法的问题?
我试图采用泛型类和Linq To sql写一个通用的数据库持久性方法(包括:新增数据和修改数据保存),如:
public void Save(T entity)
{
//实现过程
........
}
这里就遇到一个问题,在这个方法内部如何同时实现新增和更新的两种情况?
或者说,我怎么判定这个实体entity到底是新增的对象还是已经存在的对象需要修改的?
------解决方案--------------------有必要这样吗?
直接insertOnsubmit()/DeleteOnSubmit()/SubmitChanges()
如果非要一个方法搞定,那只能用SubmitChanges()
------解决方案--------------------不知道你的系统的完整设计是怎样的。原则上,如果一个对象是从一个数据库连接中查询出来的,并且没有Delete它,那么Save的时候就应该Update;否则就应该自动Insert它。