1

次のqlクエリをLinqtoSqlクエリに変換するためのヘルプが必要です。

select Name, Address
from Entity
group by Name, Address
having count(distinct LinkedTo) = 1

アイデアは、1つの異なるLinkedTo値しかないすべての一意の名前とアドレスのペアを見つけることです。テーブルには他の列もあることに注意してください。

4

2 に答える 2

2

私はこのようなことを試みます:

Entity.GroupBy(e => new { e.Name, e.Address})
      .Where(g => g.Select(e => e.LinkedTo).Distinct().Count() == 1)
      .Select(g => g.Key);

その行の後にブレークポイントを設定し、生成されたSQLをチェックして、データベースに実際に何が送信されているかを確認する必要があります。

于 2013-02-25T09:33:52.897 に答える
0

あなたが使用することができます:

from ent in Entities
group ent by new { ent.Name, ent.Address } into grouped
where grouped.Select(g => g.LinkedTo).Distinct().Count() == 1
select new { grouped.Key.Name, grouped.Key.Address }

having生成された SQL は句を使用しません。LINQがそれを生成できるかどうかはわかりません。

于 2013-02-25T09:46:41.220 に答える