我想删除DBPrograms中所有的记录,下面删除所有记录LINQ代码是否正确?谢谢! DBContext db = DBContext(PublicDBPar.ConnectionString);
db.DBPrograms.DeleteAllOnSubmit(db.DBPrograms);
db.SubmitChanges();
db.DBPrograms.DeleteAllOnSubmit(db.DBPrograms);
db.SubmitChanges();
public void DeleteAllOnSubmit<TSubEntity>(
IEnumerable<TSubEntity> entities
)
where TSubEntity : TEntity
应该这样吧(linq不是太熟悉)
DBContext db = DBContext(PublicDBPar.ConnectionString);
IEnumerable<DBProgram> Programs = (from c in db.DBPrograms
select c).ToList(); db.DBPrograms.DeleteAllOnSubmit(Programs);
db.SubmitChanges();
过程应该是:先用生成select语句将记录全部查出来 =》再为每条记录生成一条 delete语句(很多条)==》再每条进行执行删除操作。 这样的效率 太慢了吧...?DataContext有ExecuteCommend、ExecuteQuery等方法,直接执行sql语句
如下:
db.ExecuteCommand("delete from Program");
ItemDataContext db = new ItemDataContext();
db.ExecuteCommand("DELETE FROM Tb");