を含め、私はEntity Frameworkのコア1.1でローカルのSQLiteデータベースを使用していますし、それはこれ以外今のところ正常に動作しています:のWindows 10 UWP - エンティティコアsqliteは:Windowsの10 UWPアプリケーションでクエリエラー
私は私のユーザオブジェクトに関連オブジェクトを含めるために、単純なlinqクエリを使用しようとしています。私はいくつかのクエリをテストしましたが、インクルードメソッドと選択制限付きのラムダは機能しません。
コードサンプル:
public async Task<IUser> GetAsync(Guid id)
{
// Working, but useless
var user = await this.DbSet.Include(u => u.ProfileNavigation).FirstOrDefaultAsync();
// Returns null
var user1 = await this.DbSet.Include(u => u.ProfileNavigation).FirstOrDefaultAsync(u => u.IdGuid == id);
// Returns null
var user2 = await this.DbSet.Where(u => u.IdGuid == id).Include(u => u.ProfileNavigation).FirstOrDefaultAsync();
// Returns null linked object
User user3 = await this.DbSet.SingleOrDefaultAsync(u => u.IdGuid == id);
await this.Context.Entry(user3).Reference(p => p.ProfileNavigation).LoadAsync();
// Result valid but painfull
User res = await (from u in this.DbSet
join p in this.Context.Set<Profile>() on u.ProfileGuid equals p.IdGuid
where u.IdGuid == id
select new User
{
Id = u.Id,
ProfileId = u.ProfileId,
ManagerUserId = u.ManagerUserId,
RegionId = u.RegionId,
Number = u.Number,
Password = u.Password,
FirstName = u.FirstName,
LastName = u.LastName,
Email = u.Email,
HideOnBoardAppConstr = u.HideOnBoardAppConstr,
ModifiedByUserId = u.ModifiedByUserId,
ProfileNavigation = p
}).FirstOrDefaultAsync();
return res;
}
誰もがこの問題を持っていたし、それを解決していますか?
ありがとうございます。