私は一日中検索していて、これに対する解決策を見つけることができません...
EntityCollection
それぞれがCommunication
オブジェクトのインスタンスIntention
(1対1)を持つオブジェクトがあります。
(1対多)のUser
インスタンスが多数あるオブジェクトもありますUserLocation
EntityObjects
Intention
オブジェクトにはプロパティがありますUID
。UserLocation
オブジェクトにはプロパティがありますLID
。オブジェクトに関連付けられたインスタンスのプロパティが、オブジェクトのインスタンスの任意のインスタンスの任意のプロパティと等しいすべての
Communication
オブジェクトを返すLINQ式を記述したいと思います。UID
Intention
Communication
LID
UserLocation
User
私はこれを試しました
return _context.Communications.Where
(u => u.Intention.UID.Equals
(user.UserLocations.Select
(p => p.LID)));
この
return _context.Communications.Where
(u => user.UserLocations.Any
(x => x.LID.Equals
(u.Intention.UID)));
この
var thislist = from Intentions in _context.Intentions
join UserLocations in user.UserLocations
on Intentions.UID equals UserLocations.LID
select Intentions.UID;
return _context.Communications.Where(u => u.Intention.Equals(thislist.Any()));
この
var lidlist = user.UserLocations.Select(x => x.LID);
return _context.Communications.Where(x=> lidlist.Contains(x.Intention.UID)).ToList();
(これにより、Containsステートメントで「DelegateSystem.Func<Communication,int,bool>
は1つの引数を取りません」というエラーが発生します。修正方法がわかりません)
これらすべてのバリエーションに加えて、私も持っています:
- メソッドを変更して戻り、クエリに追加
IQueryable<Communication>
しようとしました。List<Communication>
ToList()
何も機能しません。私が何をしようとしても、私はいつもこの例外で終わります
NotSupportedExceptionはユーザーコードによって処理されませんでした
タイプ'PreparisCore.BusinessEntities.UserLocation'の定数値を作成できません。このコンテキストでは、プリミティブ型('Int32、String、Guid'など)のみがサポートされます。
私は何が間違っているのですか?