私はタイプIQueryable<T>
の方法を持っており、ここでは実装のあるに参加します。これは、Identtiyテーブルのユーザーと私のカスタムテーブルPersonalInformationは、ユーザー登録フィールドを拡張し、今私は自分のLINQクエリでこのメソッドを呼び出すといいです。はテーブル
IRepository<PersonalInformation> personRepository;
IRepository<ApplicationUser> usersRepository;
var query = personRepository.Get();
var test = usersRepository.Get()
.GroupJoin(query,
n => n.Id,
m => m.UserId,
(n, ms) => new { n, ms = ms.DefaultIfEmpty() })
.SelectMany(z => z.ms.Select(m => new PersonalInfoModel
{
Name = m.Name,
LastName = m.LastName,
Email = z.n.Email
}));
しかし、私は var test = usersRepository.Get()
にエラーが発生している - System.NotSupportedException
:ここに私のLINQのです。だからメソッドpersonRepositoryから取得するが良いと呼ばれるが、usersRepositoryメソッドはnullを返します。どこで私は間違いをしたのですか?ありがとう
'' IRepository'のGET'メンバーですか? – NetMage
@NetMageはいインターフェイスIRepository:IDisposable T:class とIQueryableがあります。 Get();私はlinqで異なる文脈エラーがあります –
実際のタイプの 'usersRepository'は' IRepository'の 'Get'演算を実装していない可能性があります。私はそれが好きではありませんが、一部のクラスはインターフェイスを部分的に実装しています。 'personRepository'と' usersRepository'の本当のタイプは何ですか? – NetMage