override add方法entityCollection

时间:2013-07-02 19:02:13

标签: c# entity-framework

我正在寻找一种在实际添加之前在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)
}

你有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:0)

记住开放/封闭原则并始终使用继承来扩展功能永远不会修改基类行为。鉴于EntityCollectionsealed,您可以使用PassengerRepository类来处理与乘客相关的操作,这也很容易进行单元测试。为此目的使用扩展方法听起来非常非常hackish。