私のDBには何人かの人がいます。それらの一部は「OverviewSortOrders」テーブルにリストされていますが、すべてではありません。私のlinqにすべての人を集めると、OverviewSortOrdersに参加しますが、そのテーブルにリストされていない人はもちろん私の結果には含まれていません。しかし、そのテーブルにいるかどうかに関係なく、それらの人々が欲しいです。
from...
join...
join..
join sorting in db.OverviewSortOrders on person.PersonRef equals sorting.PersonRef into moso
from subsorting in moso.DefaultIfEmpty()
where subsorting.UserRef == rp.UserRef
select new
{
SortOrder = (subsorting == null ? int.MaxValue : subsorting.SortOrder),
...
...
人がテーブルにいない場合、これは真になりません: "where subsorting.UserRef == rp.UserRef". しかし、それらが表にあるかどうかにかかわらず、私はそれらを私のリストに集めたい. しかし、それらの hwo には sortOrder があり、その値を設定します。
問題は、linq でこれを解決し、値を持つ人々に値を与え、テーブルにない他の人々に maxValue を与えることは可能ですか? または、上に貼り付けたリンクからその部分を分割する必要がありますか。そして、すべての人を収集し (「OverviewSortOrders」テーブルにあるかどうかに関係なく)、後で値を与えますか?