2016-05-26 4 views
0

Мне нужно написать запрос linq, чтобы проверить, что идентификатор существует в таблице sql, и если идентификатор существует, необходимо проверить, что одно поле имеет значение null или нет в одной таблице.несколько условий в структуре сущности

Я новичок в структуре сущности, пожалуйста, помогите.

В настоящее время делает, как это: -

Здесь я выбрать двумя способами, если первый метод возвращает истину я проверить второй метод. Основываясь на этом значении, мне нужно включить/отключить вкладку.

public bool GetCompanyInfoById(int customerId) 
     { 
      using (var context = new eSmoEntities()) 
      { 
       bool companyExist = context.tm_cmd_company_details.Any(x=>x.com_id.Equals(customerId)); 
       return companyExist; 
      } 
     } 

     public bool GetGroupForCompany(int customerId) 
     { 
     using (var context = new eSmoEntities()) 
      { 
       var customer = context.tm_cmd_company_details.Where(x => x.com_id == customerId).Select(x=>x.cmd_group_id).FirstOrDefault(); 
       return customer != null ? true : false; 
      } 
     } 
+1

Это поможет, если вы покажете определение своей сущности и/или образец запроса (рабочий или нет). Обычно такое условие может быть выполнено с предложением join, аналогичным 'where new {x.A, x.B} равно new {y.A, y.B}' –

ответ

0

Вы должны сначала найти объект с данным идентификатором, например = 1.

var entity = dbContext.AnyTable.FirstOrDefault(t => where t.Id =1); 
if (entity != null) 
{ 

    if (entity.AnyField != null) 
    { 

    } 
} 

В этом случае вы должны использовать активную загрузку. Если вы используете Lazy-загрузку, тогда объект будет загружаться во время выполнения.

2

Это довольно тривиальный вопрос, вам просто нужно два логических условия для вашего запроса Linq:

Context.MyItems.Any(i => i.ID == suppliedID && i.OtherProperty != null) 

Очевидно, что это будет легче ответить конкретно, если поставить модель EntityFramework.

Это только половина проблемы; что вы хотите сделать после? Выберите элемент, соответствующий вашим требованиям? Что-то делать, если эти условия выполнены? Кажется, вам нужно самостоятельно решить вашу проблему, прежде чем перейти в Stack Overflow и попросить полное решение для копирования.

Смежные вопросы