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

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

在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...... 展开详请

通过VBA动态传递值到sql server

asioc一个程序员
看起来您已经将该值作为查询WHERE语句的条件传递。 如果你问如何用工作表中的值替换它,这是一种方法: .CommandText = "SELECT * FROM [dbo].[tbl_PMHeader] " & _ "WHERE [PMHeader_PM_NUM] =...... 展开详请

如何检索HP ALM测试中的所有操作名称?

asioc一个程序员
有多种方法,但在所有情况下,您都需要熟悉与HPE(Microfocus)工具相关的(COM)自动化 方法1) 使用OTA API(HPE ALM Automation)将测试用例下载到FileSystem ; 然后遍历文件系统上的文件夹结构并查找具有ActionX名称的文件夹...... 展开详请

使用petl对于这个lambda函数有什么问题?

asioc一个程序员
已采纳
您的功能有三个主要问题。 首先,您正在尝试为其分配值v。但是作业是陈述,而不是表达。你不能在Python中的表达式中放置语句,它lambda是一个表达式。但你可以随时使用def: def func(v, row): v = '100' if row['Cambridge...... 展开详请

如何解决在Google App Engine Flex上运行时,使用Java将文件从Google Storage Bucket移动到Google云端硬盘?

asioc一个程序员
java.io.File使用blob.getMediaLink()上传到存储桶后返回的URL 创建了一个临时文件。这是我创建的方法: public static java.io.File createFileFromURL(String fileURL, String file...... 展开详请

Java如何做日历比较?

asioc一个程序员
使用现代LocalDate课程 LocalDate.parse( // Represent a date-only value without time-of-day and without time ...... 展开详请

关于作者

所属标签

扫码关注云+社区