实体框架提交时,删除所有内容?

  • 回答 (2)
  • 关注 (0)
  • 查看 (50)

在LINQtoSQL中,我可以这样做:

context.User_Roles.DeleteAllOnSubmit(context.User_Roles.Where(ur => ur.UserId == user.UserId));

对于实体框架来说,怎么实现?

10984802741098480274提问于
asioc一个程序员回答于
foreach(var entity in context.User_Roles.Where(ur => ur.UserId == user.UserId))
{
  context.User_Roles.DeleteObject(entity);
}
context.SaveChanges();

当然,您可以编写一个扩展方法,它可以封装这个扩展方法。

这应该是这样的:

public static void DeleteObjects<TEntity> (this ObjectSet<TEntity> set, IEnumerable<TEntity> data) where TEntity : class
{
  foreach(var entity in data)
    set.DeleteObject(entity);
}

调用如下:

context.User_Roles.DeleteObjects(context.User_Roles.Where(ur => ur.UserId == user.UserId))
context.SaveChanges();

回答过的其他问题

如何搭建Hadoop处理环境?

asioc一个程序员
软件环境: 虚拟机:VMware Pro14 Linux:CentOS-6.4(下载地址,下载DVD版本即可) JDK:OpenJDK1.8.0 (强力建议不要使用 Oracle 公司的 Linux 版本的 JDK) Hadoop:2.6.5(下载地址) 虚拟机的安装和Linux...... 展开详请

如何将CPR的GET响应转换为JSON对象?

asioc一个程序员

我确实玩了一些代码,最后想出来了。基本上我想要做的是将“JSON字符串”转换为JSON对象。我通过使用该方法实现了它nlohmann::json::parse();

Json j = Json::parse(r.text);
string xx = j["token"];

Value_counts不按区间划分

asioc一个程序员
这似乎不是关于python的问题。也许你应该更新你的熊猫库。 这是你想要的结果吗? df['a'].value_counts(bins=2, dropna=True).index.values array([Interval(0.45, 0.8, closed='right'...... 展开详请

使用MySQL的FOR UPDATE锁定时,究竟锁定了什么?

asioc一个程序员
这个问题很老了,但我想PO一些用索引列做的相关测试的奇怪结果。 表结构: CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, ...... 展开详请

Arel :: SelectManager如何访问结果,包括投影

asioc一个程序员
简化了activerecord / arel查询构建器 修改后的代码 photos_with_credits = Photo.select([photos[:name], photos[:created_at], creators[:name].as('creator'), u...... 展开详请

N和E在此select语句中表示什么

asioc一个程序员

我很确定“E”是“表达式”的简写,“N”是“名称”

表达式是值,Name是本例中select语句的标题。

所属标签

扫码关注云+社区