我想限制导航属性返回的模型。例如,我正在使用AuditInfo
模型来记录模型的活动。一旦删除模型,将设置DeletedBy
和Deleted
属性。然而,由于没有从数据库中真正被“删除”,所以这些模型仍然会被其他模型引用的导航属性填充。导航属性的实体框架约束
AuditInfo类具有导航属性被审计
public class BlogPost
{
//Other attributes
//Only return Comment where Comment.AuditInfo.Deleted is NULL
public virtual IList<Comment> Comments { get; set; }
}
类
public class AuditInfo
{
[Key]
public int AuditInfoID { get; set; }
//Other attributes
public string DeletedBy { get; set; }
public DateTime? Deleted { get; set; }
}
类
public class Comment
{
//Other attributes
public int AuditInfoID { get; set; }
}
我将如何设置约束以便从BlogPost.Comments中只有未删除的评论(Comment.AuditInfo.Deleted为NULL)?
BlogPost.Comments如何填充?你可以通过检查BlogPost.Comments.AuditInfo.Deleted = false填充BlogPost.Comments吗? – 2012-07-19 20:28:08
它使用实体框架进行填充。由于每条评论都有一个与BlogPost关联的外键,框架将自动检测一对多关系并填充导航属性。 – 2012-07-19 20:40:46