ビジネスロジック/サービスレイヤーに配置するか、部分クラス機能を利用する拡張ドメインクラス(EF T4で生成されたPOCO)の新しいメンバーに追加できるビジネスロジックがあります。
だから私は持つことができます:
a)bool OrderBusiness.OrderCanBeCancelledOnline(Order order)
..または(IOrder注文)
また
b)bool order.CanBeCancelledOnline()
..つまり、注文自体がキャンセルできるかどうかを知っています。
私にとってオプションb)はもっとOOです。ただし、オプションa)を使用すると、他のドメインオブジェクトやサービスを使用するなど、より複雑なロジックを適用できます。
現時点では両方を組み合わせていますが、これはエレガントではないようです。
これに関するガイダンスをいただければ幸いです。