2013-07-02 4 views
1

Я ищу способ, чтобы добавить логику в функции Add в качестве EntityCollection до фактического добавления , когда у вас есть объект, у кого EntityCollection вы можете сделать для Exemple:переопределение добавить метод 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) 
} 

У вас есть какие-нибудь идеи? Thanks

+0

Entity Framework предназначен для доступа к данным, а не для бизнес-логики. Это должно быть действительно связано с уровнем вашей бизнес-логики. – cadrell0

ответ

0

Помните принцип open/closed и всегда используйте наследование, чтобы расширить функциональность, никогда не изменяя поведение базового класса. Учитывая, что EntityCollection является sealed, вы можете использовать класс PassengerRepository, который занимается операциями, связанными с пассажирами, что также будет легко провести тестирование. Использование метода расширения для этой цели звучит очень очень хаки.

Смежные вопросы