ナビゲーション プロパティによって返されるモデルを制限したい。たとえば、AuditInfo
モデルのアクティビティをログに記録するためにモデルを使用しています。モデルが削除されると、DeletedBy
およびDeleted
属性が設定されます。ただし、データベースから実際に「削除」されるものは何もないため、これらのモデルは、他のモデルによって参照されるナビゲーション プロパティに取り込まれます。
AuditInfo クラス
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) のみになるように制約を設定するにはどうすればよいですか?