0
linq to sql datacontextを使用して、多くの同様のテーブルにアクセスしているプログラムがあります。 Linq to SQLテーブルは共通のインタフェースを実装していますか?これは、LINQを使用してSQLすることは可能です私は、同様のテーブルのいずれかで仕事ができる方法を記述したいと思いますので、LINQ to SQL:インターフェイスで複数のデータコンテキストを簡単に使用
Dim myTable as ILinqDataTable
If switch = "TableA" then myTable=myDataContext.TableA Else myTable=myDataContext.TableB
ような何かを行うことが素晴らしいことですか?
更新
Dim datasource as IlinqDatatable // new interface that I implemented based on John's suggestion
Dim rec = From l in datasource where l.exported=false select l //raises "Late binding operations cannot be converted to an expression tree."
ありがとうございました。だから私はdatacontextの部分クラスの背後にあるコードを見ると、Partial Class TableAのようなものが見えます...私は部分クラスのようなものに変更する必要があります。TableAはMyInterfaceを実装していますか? – bernie2436
いいえ、別のファイルで、独自の 'Partial Class TableA Implements MyInterface'を作成してください。部分クラスの考え方は、1つのクラスを複数のパートで構成できるということです。 –
John、インタフェースを追加しようとしましたが、コンパイラエラーが発生します。「遅延バインディング操作を式ツリーに変換できません。おそらく、オブジェクト型が実行時に割り当てられているとしたら(linqはインターフェイスを実装しているオブジェクトからクエリを実行しているため)、これをSQLクエリに変換できませんか? DimデータソースをIlinqDatatableとして返します。 l.exported = falseのlからデータソースでlを選択すると、//このエラーが発生します – bernie2436