linq直接执行 sql有没么坏处
为什么不都用linq直接执行sql。
var query=from a in Plan
join c in Contract on a.ID equlas c.ID
join d in ContractSub on c.SupID equlas d.ID
where c.MType==3 && a.ID==aid
select d;
db.ContractSub.DeleteAllOnSubmit(query);
db.SubmitChanges();
这个批量删除的db是什么
需要添加 using (NorthwindDataContext dc = new NorthwindDataContext())这个吗
这个添加进去又说缺少引用命名空间。
希望得到详解 谢谢了
------解决方案--------------------Plan Contract ContractSub
从哪里来的。
------解决方案--------------------为什么不都用linq直接执行sql。
因为linq是和数据库无关的,而sql虽然说的统一的,但每个数据库都有自己的特定函数什么的
你一旦使用了sql就说明和某个数据库绑在一起了,当然我们做项目是很少换数据库的~
再说现在已经进入了DDD 领域驱动设计什么的 数据库也有nosql数据库,所以sql也许以后被淘汰吧
但现在,为了效率,非要用sql不可的时候,那就用吧
另外经验所以,最好不要物理删除,在表中添加一个IsDeleted字段什么的,来标记这条数据已经删除了就好
var query=from a in Plan
join c in Contract on a.ID equlas c.ID
join d in ContractSub on c.SupID equlas d.ID
where c.MType==3 && a.ID==aid