在實體設計器中,我在實體上設置條件映射,在該實體上它通過'isactive'字段過濾所有客戶。在linq中更改實體條件
這很好,沒有問題,但問題出現在我的LINQ。
當我需要將客戶設置爲'IsActive = false'時會發生什麼情況。該屬性沒有映射到我的實體,因爲條件已映射,但在Linq中,我無法找到改變它的方法。
using (var db = new CustDbConn())
{
Customer customer= db.Customers.Single(p => p.Id == idFromEmail);
customer.IsActive = false; //<----NOT FOUND, can not resolve 'isActive'
}
必須有一種方法來訪問和更改LINQ中的條件,有人可以對此有所瞭解嗎?我想過繞過模型,只是使用SqlCommand來更新它,但我不應該經歷所有這些。
以防萬一來驗證我沒有讓自己清楚,你說我不能改變的活動的患者之一如果我使用條件映射,表中的狀態永遠不會變化?如果在設計數據庫或添加新條目時必須始終設置條件,那麼這樣做是否違背了條件的目的?如果我將它帶回來,那麼我必須在涉及客戶的所有查詢中添加「where isactive = true」。 – prospector 2014-12-03 07:04:57
更新了答案。 – Dennis 2014-12-03 07:15:04
感謝您的解釋,我瞭解條件映射的主要目的。我想保持它,所以我沒有把它列入每個查詢,我認爲最好的辦法是直接使用的SqlCommand更新在這種情況下更改數據庫中的值並繞過模式。 – prospector 2014-12-03 07:24:38