こんにちは。私はアプリケーションで linq to entity を使用しています。1 つの列値「名前」に基づいて個別のレコードを取得する必要があります。
次のような表があります。
(User)
ID
Name
Country
DateCreated
選択する必要がありますこのすべてのアイテムただし、名前 (一意) に基づいて一意になります。linq を使用して実現することは可能ですか。可能であれば、方法を教えてください。
var items = (from i in user select new {i.id, i.name, i.country, i.datecreated}).Distinct();
ベストアンサー1
このDistinct()
メソッドは、DISTINCT SQL 述語をデータベースに送信しないため、パフォーマンスがよくありません。group
代わりに以下を使用します。
var distinctResult = from c in result
group c by c.Id into uniqueIds
select uniqueIds.FirstOrDefault();
LINQ のグループは、実際には、指定したプロパティをキーとするエンティティのサブグループを作成します。
Smith
John
Mary
Ed
Jones
Jerry
Bob
Sally
上記の構文はキーを返し、個別のリストを生成します。詳細については、次を参照してください。