Это правильный способ объединить две таблицы с помощью запроса LINQ в проекте .NETCore?

#c# #linq #.net-core #linq-to-sql

Вопрос:

Ну, я знаком с работой с sql-запросами в mysql, но теперь мне необходимо использовать запросы LINQ для вызова базы данных и получения записей оттуда, но я застрял при подключении к таблице и получении общих записей из этих таблиц.

 submittedDatabaseResponseList = (from submitted in _admissionsContext.ApplicationSubmittedSlate  join started in _admissionsContext.ApplicationStartedSlate on new { submitted.SlateID, submitted.RoundKey } equals new { started.SlateID, started.RoundKey }   where submitted.IsSuccess == false  where started.SalesforceOpportunityID != null  where submitted.FailedAttempts lt; 5  select new ApplicationSubmittedSlate()  {  SalesforceOpportunityID = submitted.SalesforceOpportunityID,   SlateID = submitted.SlateID,  GPID = submitted.GPID,  RoundKey = submitted.RoundKey,    }).ToList();  

Комментарии:

1. не могли бы вы, пожалуйста, сказать нам, где именно вы застряли? какие-либо сообщения об ошибках.?

Ответ №1:

Используйте единственное предложение where, подобное приведенному ниже,

 submittedDatabaseResponseList = (from submitted in _admissionsContext.ApplicationSubmittedSlate  join started in _admissionsContext.ApplicationStartedSlate on new { submitted.SlateID, submitted.RoundKey } equals new { started.SlateID, started.RoundKey }   where submitted.IsSuccess == false  amp;amp; started.SalesforceOpportunityID != null  amp;amp; submitted.FailedAttempts lt; 5  select new ApplicationSubmittedSlate  {  SalesforceOpportunityID = submitted.SalesforceOpportunityID,  SlateID = submitted.SlateID,  GPID = submitted.GPID,  RoundKey = submitted.RoundKey  }).ToList();  

Комментарии:

1. И чем это существенно отличается?

2. @AluanHaddad задается вопрос, правильно это или нет? В любом случае, это неправильный путь? Если у вас есть принципиально иной подход, пожалуйста, прямо здесь.

3. Да, просто переписал запрос, используя одно where и amp;amp; вместо повторяющихся where предложений. Обе формы действительны. Сам по себе вопрос не объясняет достаточно, чтобы ответить на него