EntityFramework中常用的数据删除方式速度对比
最近在学EF,目前了解到删除操作有三种方式,
第一,官方推荐的先查询数据,再根据查询的对象,删除对象。
这是第一种,官方推荐
第二,自己创建一个对象,然后附加,然后删除。
这是第二种
第三,自己创建对象,然后放入EF容器,然后删除。
这是第三种
跟踪结果
首先第一种
会先查询,然后再删除,对数据库进行两次查询操作。
再来看第二种方式
直接根据你创建的对象的主键列的值进行删除。
下面是第三种
跟第种一样,只进行一次数据库查询操作就完成了删除动作。
需要注意的是
在创建对象的时候,需要指定主键列才行,指定非主键列是操作不成功的。 SysUser delSysUser3 = new SysUser() {ID = delId};