实体框架中的多重条件

时间:2016-05-26 12:34:58

标签: c# entity-framework linq

我需要编写一个linq查询来检查sql表中是否存在ID,如果该ID存在,则需要在同一个表中检查一个字段是否为空。

我是实体框架的新手,请帮助。

目前这样做: -

这里我选择两种方法,如果第一种方法返回true,我正在检查第二种方法。基于此值,我需要启用/禁用选项卡。

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;
            }
        }

2 个答案:

答案 0 :(得分:2)

这是一个非常简单的问题,您只需要为linq查询提供两个布尔条件:

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

显然,如果您提供EntityFramework模型,这将更容易回答。

这只是问题的一半;你想做什么?选择符合您规格的商品?如果满足这些条件,可以做些什么吗在进入Stack Overflow之前,你需要自己思考一下你的问题并要求一个完整的解决方案来复制粘贴。

答案 1 :(得分:0)

您首先要找到具有给定Id的实体,例如= 1。

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

  if (entity.AnyField != null)
  {

   } 
}

在此apporach中,您必须使用预先加载。如果您正在使用延迟加载,则实体将在运行时加载。