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

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

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

manjaro linux上的opencv中的ImportError

asioc一个程序员
我使用以下命令修复了问题: pacman -Syu base-devel opencv opencv-samples pacman -S hdf5 然后你需要安装gtkglext库,你可以使用: pacman -S gtkglext 这应该可以正常工作... 展开详请

分配false返回undefined

asioc一个程序员

不太确定你的目标是什么。您将变量y设置为将x作为参数的函数(不是全局变量x而是参数x)。如果你运行y(x),那么你将收到一个对象{z:false}

在Xcode中为我的Storyboard添加标签

asioc一个程序员
在xcode 10.1中,获取标签的库现在位于标准编辑器和助理编辑器旁边。我是xcode的新手,并且正在关注一个旧的视频教程,所以我花了一段时间才找到它。 📷 ... 展开详请

CodeHS Python,从字符串中删除所有内容

asioc一个程序员
def remove_all_from_string(word, letter): while letter in word: x=word.find(letter) if x == -1: continue ...... 展开详请

实现滑块图像的响应

asioc一个程序员

尝试在CSS文件中定义

.slider .slides li img {
    background-size:100% auto;
    background-repeat: no-repeat;
}

关于作者

所属标签

扫码关注云+社区