0

こんにちは、エンティティフレームワークを使用して同じものを実行し、それをグリッドビューにバインドしたいSQLクエリを持っています。誰かが私を助けることができます。これは私のクエリです

SELECT Technology,[Description], Technologies.TechID, COUNT(*) AS 'num_employees'
FROM Technologies
LEFT JOIN Questions   
ON Questions.TechID = Technologies.TechID
GROUP BY Technologies.TechID, Technology,[Description]

EFを使用して結果を取得するために同じものを変換するにはどうすればよいですか

4

2 に答える 2

1

個人的には、代わりにこれをストアド プロシージャにして、EF にインポートします。次に、コードでそれを呼び出し、結果をグリッドにデータバインドします。

このようにして、参加、グループ化などはすべて、クライアント側ではなくサーバー側で行われます。そうしないと、必要以上に多くの情報をクライアントに送信することになります。さらに、理論的には、サーバーはこれらの操作をクライアントよりも高速に実行できます。

于 2013-01-23T17:55:18.737 に答える
0

これを試してみてください。ロジックと構文の両方をテストする時間がありませんでした。似たようなものが必要です。

var q = from a in context.Technologies
    join b in context.Questions
    on a.TechID equal b.TechID into j1
    from j2 in j1.DefaultIfEmpty()
    group j2 by new { a.TechID, b.Technology, b.Description into grouped
    select new { Tecnology = grouped.Technology, Description = grouped.Description, Count = grouped.Count() }
于 2013-01-23T18:06:15.507 に答える