2013-07-02 69 views
1

我正在尋找一種方式,將entityCollection的功能Add前的實際添加邏輯添加 當你有誰擁有entityCollection你可以做爲例實體:重寫add方法entityCollection

car.passengers.Add(passenger) 

我要檢查有沒有超過5名乘客例如 ,所以我嘗試這樣的擴展:

static public void Add(this EntityCollection<passenger> Passenger, Passenger Passenger) 
{ 
    // some logique (in fact i want throw an exception here to force the utilisation of the controller) 
} 

你有什麼想法? 謝謝

+0

實體框架用於數據訪問,而不是業務邏輯。這應該真正由您的業務邏輯層處理。 – cadrell0

回答

0

記住開放/封閉原則,並始終使用繼承來擴展功能,而不會修改基類的行爲。考慮到EntityCollectionsealed,您可以使用PassengerRepository類來處理與乘客相關的操作,這也很容易進行單元測試。爲此使用擴展方法聽起來非常非常黑客。