c# - 多对多关系的软删除
问题描述
我发现与我的问题最相似的唯一问题是here,但它没有回答我的问题。我有这个模型:
public class Profile
{
public int Id { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
public bool IsDeleted {get; set; }
public virtual ICollection<Program> AllowedPrograms { get; set; }
public virtual ICollection<Program> DisAllowedPrograms { get; set; }
}
和这个 :
public class Program
{
public int Id { get; set; }
public string DisplayName { get; set; }
public bool IsActive { get; set; }
public bool IsDeleted {get; set; }
public virtual ICollection<Profile> AllowedProfiles { get; set; }
public virtual ICollection<Profile> DisAllowedProfiles { get; set; }
}
如果我通过字段的帮助实现软删除,表IsDeleted
中的条目会发生什么ProfileProgram
?他们是否被隐含地删除了?(我猜这个模型中有两个多对多关系)。如果我使用位于此处的实体框架过滤器。
还是我应该自己创建中间表并向IsDeleted
其中添加字段?而且这种方法似乎改变了我的代码很多,我真的在寻找替代方法。
解决方案
是的 ProfileProgram 表不会自动删除。是的,您应该创建 IsDeleted 表(不是字段)。
推荐阅读
- javascript - 如何在反应项目和 Firebase 中使用带有 axios 的删除请求?
- reactjs - 如何使用 echarts 做出正确反应
- c# - Linq 查询实体框架?通过多个条件
- java - 删除列表中的重复项
- python-3.x - 我如何在psychopy中模拟操纵杆输入
- postgresql - 如何将动态字符串转换为日期
- json - Alamofire中的responseJSON json解析
- excel - 列表框表单控件更改事件
- wpf - 有没有办法在 WPF 中创建一个粘性页脚?
- microsoft-teams - 是否可以扩展 ChatMessage 以存储自定义信息