1

LINQespが大好きです。LINQtoSQL。静的テーブル(テーブルの構造が事前にわかっている場合)にLINQを使用することは素晴らしいことです。

これで、テーブル名(文字列として)しかわからないテーブルのリストができました。また、テーブルの各行にはID / Primary Key(int)と、データ型がvarchar/stringである未決定の列がいくつかあることもわかっています。SMOを使用して列の名前を取得できます。

これらの列をクエリするための最良の方法は何でしょうか。たとえば、各列で個別に実行しますか?クエリをSQLに直接変換することにより、LINQtoSQLは非常に効率的であるように思われます。SQLを手作業で作成したくありません。

4

2 に答える 2

0

LINQは型で機能します-テーブル用に生成されたクラスがない場合、実際にはLINQを使用できません。強く型付けされていないシナリオで、強く型付けされたツールを使用しようとしています。

おそらく、 http://www.codeproject.com/Articles/13419/SelectQueryBuilder-Building-complex-and-flexible-SのようなSQLビルダーライブラリが必要です。

于 2012-05-21T16:15:26.057 に答える
0

多分動的なlinqはあなたのニーズを満たすでしょう

動的LINQ(パート1:LINQ動的クエリライブラリの使用)

MSDNからダウンロードします

スニペット:

// your columnnames would be more dynamic :)
string columnName1 = "id";
string columnName2 = "someOther";

// to execute a dynamic query simple put the columnnames with your 
yourContext.SomeItems
    .Where(string.Format("{0} == 123 and {1} > 4",columnName1, columnName2);
于 2012-05-21T16:18:48.403 に答える