モデルクラスをインターフェイスにリファクタリングしています。モデルクラスは、Linq-to-Sqlを使用して自動生成されます。
class FooRepository
{
// ...
public void Add(IFoo foo)
{
db.Foos.InsertOnSubmit(foo);
}
}
InsertOnSubmitメソッドは、IFooではなくFooのインスタンスを取ります。インスタンスを(Foo)にインラインでキャストできますが、これは機能しますが、これを行うためのよりクリーンな方法はありますか?
すでにStructureMapを使用していますが、Addメソッドに属性を追加して、マッピングに基づいてタイプを解決できますか?
または、モデルクラスのメソッドのいずれかをオーバーライドしたり、部分的なイベントを使用してこれを実行したりできますか?