基本上,我想使用軟刪除,但具有導航屬性不顯示軟刪除的記錄。有什麼方法可以攔截實體框架中POCO對象的導航屬性查詢嗎?軟刪除,EF4中的導航屬性CTP5 POCO
很簡單的例子:
public class Product
{
public int Id { get; set;}
public string Name { get; set;}
public int? CategoryId { get; set;}
public virtual Category Category { get; set;}
public bool IsDeleted { get; set;}
}
public class Category
{
public int Id{ get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set;}
}
我可以輕鬆地插入標準到我的倉庫,這樣它不返回任何產品請將isDeleted地方真正==。
但是,我看不到如何爲導航屬性中具有「軟刪除」實體的其他對象完成此操作。
也就是說,如果我訪問myCategory.Products(其中myCategory是一個類別)它不應該表現出任何產品請將isDeleted地方真正==
我可能會解決這個使用類別的一個附加屬性
public ICollection<Product> CurrentProducts
{
get
{
return this.Products.Where(p=>!p.IsDeleted);
}
}
但這並不是我正在尋找的優雅解決方案。有沒有辦法將'標準'附加到導航屬性或任何更好的解決方案如何處理?
啊現在我看到你的問題... :) – gingerbreadboy 2011-01-05 14:51:59
我會說你提出的解決方案是最好的。不知道爲什麼你不認爲它是優雅的?對我來說似乎很乾淨簡單。 – 2011-01-11 14:05:01
你有沒有找到辦法解決這個問題?我遇到了同樣的情況,並想知道你採取了什麼方法。 – muruge 2011-03-21 22:36:12