Entity Framework Core асинхронное соединение не дает результатов в SQLite - PullRequest
0 голосов
/ 21 сентября 2018

У меня есть две таблицы, и я собираюсь объединить и отфильтровать их с помощью Entity Framework Core в базе данных SQLite.

Я использую следующие запросы:

public async Task<IEnumerable<Person>> GetPerson(Guid key, int type)
{
  var mainTable = dbContext.Person.ToListAsync(); //470 entities
  var detailTable = dbContext.PersonDetail.ToListAsync(); //490 entities
  var filterDetail = dbContext.PersonDetail.Where(pd=> pd.DetailID == key).ToList(); //160 entities
  var query = from person in dbContext.Person
              join personDetail in dbContext.PersonDetail on person.ID equals personDetail.PersonID
              where personDetail.DetailID == key && personDetail.DetailType == type
              select person;
  return await query.ToListAsync(); //yields 0 (!!!!) entities
}

Если я удаляю person.DetailID == key условие, я все еще получаю некоторые результаты.

Если я запрашиваю оба объекта в списке, DetailID равен key:

  var query = from person in dbContext.Person
              join personDetail in dbContext.PersonDetail on person.ID equals personDetail.PersonID
              where personDetail.DetailType == type
              select new {person, personDetail};
  var result = query.ToListAsync(); 
  return null; //result[0].personDetail.DetailID == key yields TRUE!!!

Что мне делатьс этим?Вызывает ли проблема асинхронная часть?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...