2009-05-28 15 views
0

Ich baue eine generische Repository<T> Klasse, die Linq zu SQL unterstützt, und ich möchte ein Factory-Muster für den DataContext verwenden, weil ich derzeit den richtigen Kontext an den Konstruktor übergeben muss.Wie erstelle ich eine generische DataContext-Factory?

Kann jemand den richtigen DataContext-Typ für T ermitteln, wobei T eine Linq to Sql-Tabelle ist?

Antwort

2

Sie müssen nicht wirklich.

Nehmen Sie einfach einen DataContext auf und Sie können auf die Tabellen zugreifen, indem Sie GetTable<T>() verwenden.

+0

Also, was ist der Zweck der FooDataContext-Klasse, die generiert wird? Ist es nur so, dass Sie den Typ nicht in einer generischen Methode angeben müssen? –

+0

Nein, der FooDataContext, der generiert wird, hat auch Eigenschaften, die die Tabelle (n) in der Datenbank darstellen. Das erlaubt Ihnen, etwas wie myFooDataContext.MyTable .... – BFree

+0

zu tun. Sein Zweck ist genau das. Es ermöglicht Ihnen, einen aussagekräftigen Namen zu verwenden, wenn Sie es verwenden, und bietet Intellisense. Wenn Sie in den generierten Code schauen, rufen alle diese Eigenschaften GetTable () auf. –

Verwandte Themen