0

私たちが構築しているレポート アプリケーションの linq to sql の有用性を調査するよう依頼されました。レポート テーブルは、さまざまなタイプ (String1-500、Int1-500 など) の何千もの列を含む SQL サーバー全体のテーブルです。ユーザーが作成した動的レポートの結果を保持します。

レポート フィールドをレポート テーブルの列に序数のペア (列 String1) でマップする 2 番目のテーブルがあります。

レポート結果を返すことができる linq to sql dbml クラスに対して式ツリーを構築できるはずです。これをもう少し進めて、フィールドにマップされた列のみを返し、結果として動的型を返したいと思います。

また、dbml で巨大なレポート テーブル クラスを維持することを避けるためです。

dbml にないテーブル (linq to sql エンティティではない) に対して動的 linq クエリを実行することは可能ですか?

私はこれが L2S のろくでなし化であることを認識しており、私はそれが好きではありません。普通の古い ADO を使用して、型のない結果セットを返すことを検討しています。

どうもありがとう、

イアン

4

1 に答える 1

0

はい、DBML にないエンティティに対して LINQ to SQL を実行することは可能です。

これを行うにはいくつかの方法があるかもしれませんが、私が考えることができる最も簡単な方法は、SQL ステートメントを実行して結果セットを返すDataContext.ExecuteQueryを呼び出すことです。

結果のタイプがわかっている場合は、それをオブジェクトにキャストできます。それ以外の場合は、オブジェクト タイプのリストとして返すことができます。

于 2011-01-31T17:17:55.097 に答える