0

私は LINQ to Entity を学習するための最初のステップを作成しています。私は Entity Framework 5 を使用しています。

構造データベースではラムダ式で簡単に記述できないため、LINQ 式を記述する必要があります。

詳細には触れずに、次のクエリがあります。

    var query = from t1 in context.Table1 
                from t2 in context.Table2
                where t1.ExternalId = t2.Id &&
                      t1.Field1= "some value" &&
                      t2.Field1 < SOME_NUMBER
                select new MyCustomViewModel{
                      field1 = t1.field1,
                      field2 = t2.field1,
                      fieldBySpecificType = MyCustomMapper.Map<SomeType>(t1.field3),
                }

モデルの形成でわかるように、文字列表現から特定のクラスへの重要性を逆シリアル化するマッパーと呼ばれます。LINQ は、このメソッドを SQL 式に変換できないことを教えてくれます。ご覧のとおり、私のモデルには複数のテーブルのフィールドが含まれているため、後で収集することはできません。

このメソッドを SQL に変換するのに LINQ は不要であると言える解決策を見つけようとしています。属性を並べ替えるもの。しかし、私の努力はすべて失敗しました。おそらく、私の問題に対するアーキテクチャ上の解決策は何かがあるでしょう。

4

1 に答える 1

0

私の知る限り、最初にベースクエリを取得ToList()し、結果に対して操作を行うと、SQLに変換できないメソッドを適用できます。

于 2012-10-01T14:30:07.727 に答える