Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架中的多重条件_C#_Entity Framework_Linq - Fatal编程技术网

C# 实体框架中的多重条件

C# 实体框架中的多重条件,c#,entity-framework,linq,C#,Entity Framework,Linq,我需要编写一个linq查询来检查sql表中是否存在ID,如果ID存在,则需要检查同一个表中的一个字段是否为null 我是实体框架的新手,请帮助 目前正在这样做:- 这里我用两种方法进行选择,如果第一种方法返回true,我将检查第二种方法。基于此值,我需要启用/禁用选项卡 public bool GetCompanyInfoById(int customerId) { using (var context = new eSmoEntities())

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

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

目前正在这样做:-

这里我用两种方法进行选择,如果第一种方法返回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;
            }
        }

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

Context.MyItems.Any(i => i.ID == suppliedID && i.OtherProperty != null)
显然,如果您提供EntityFramework模型,这将更容易具体回答


这只是问题的一半;之后你想做什么?选择符合您的规格的项目?如果满足这些条件,你会怎么做?在开始堆栈溢出并要求提供完整的复制粘贴解决方案之前,您需要自己仔细考虑问题。

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

Context.MyItems.Any(i => i.ID == suppliedID && i.OtherProperty != null)
显然,如果您提供EntityFramework模型,这将更容易具体回答


这只是问题的一半;之后你想做什么?选择符合您的规格的项目?如果满足这些条件,你会怎么做?看来,在开始堆栈溢出并要求提供完整的复制粘贴解决方案之前,您需要自己仔细考虑问题。

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

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

  if (entity.AnyField != null)
  {

   } 
}

在这种情况下,必须使用快速加载。如果您正在使用延迟加载,那么将在运行时加载实体。

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

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

  if (entity.AnyField != null)
  {

   } 
}

在这种情况下,必须使用快速加载。如果您使用的是延迟加载,则实体将在运行时加载。

如果您显示实体定义和/或示例查询(工作或不工作),则会有所帮助。通常,这种条件可以通过类似于
的join子句来实现,其中new{x.a,x.B}等于new{y.a,y.B}
,如果您显示实体定义和/或示例查询(工作或不工作),这将有所帮助。通常,这样的条件可以通过类似于
的join子句实现,其中new{x.a,x.B}等于new{y.a,y.B}