我想限制导航属性返回的模型。例如,我正在使用AuditInfo
模型来记录模型的活动。删除模型后,将设置DeletedBy
和Deleted
属性。但是,由于没有真正从数据库中“删除”任何内容,因此这些模型仍将填充到其他模型引用的导航属性中。
审计信息类
public class AuditInfo
{
[Key]
public int AuditInfoID { get; set; }
//Other attributes
public string DeletedBy { get; set; }
public DateTime? Deleted { get; set; }
}
具有导航属性的类
public class BlogPost
{
//Other attributes
//Only return Comment where Comment.AuditInfo.Deleted is NULL
public virtual IList<Comment> Comments { get; set; }
}
正在审核的班级
public class Comment
{
//Other attributes
public int AuditInfoID { get; set; }
}
我将如何设置约束,以便只有来自 BlogPost.Comments 的未删除评论(Comment.AuditInfo.Deleted 为 NULL)?