2

GroupJoin の後、フィールド Book.Authors が null になるため、Book.Authors を含めたいと思います。しかし、私はできません。これを解決するにはどうすればよいですか?

Queryable<NewRead> recent = Repository.NewReads.Where(x => x.UserId == usersId);

var newFavs = IsAuthorized ? Repository.NewFavs.Where(x => x.UserId == UserId) : Repository.NewFavs.Where(x => false);

var recentFavorite = recent.GroupJoin(newFavs,
                             x => x.BookId,
                             y => y.BookId,
                             (x, y) => new {Recent = x, Favorite = y, x.Book});

私は試した:

var recent = Repository.NewReads.Include("Book.Authors")
                   .Where(x => x.UserId == usersId);

var newFavs = IsAuthorized ? Repository.NewFavs.Include("Book.Authors").Where(x => x.UserId == UserId) : Repository.NewFavs.Where(x => false);

そして、これらすべてを一緒に。GroupJoin の前は機能していましたが、Authors フィールドが失われた後は機能しました。私が追加した場合:

var recentFavorite = recent.GroupJoin(newFavs,
                             x => x.BookId,
                             y => y.BookId,
                             (x, y) => new {Recent = x, Favorite = y, x.Book, x.Book.Authors});

すべて正常に動作しますが、解決策ではありません。

4

2 に答える 2

0

できるよ

var recent = Repository.NewReads.Include(x => x.Book.Authors)
                       .Where(x => x.UserId == usersId);
于 2013-03-16T10:26:48.803 に答える
0
var recent = Repository.NewReads.Include("Book").Where(n => n.UserId == usersId).FirstOrDefault().Book.Select(b=>b.Authors);
于 2013-03-16T11:10:51.533 に答える