C# 实体框架中的多重条件
我需要编写一个linq查询来检查sql表中是否存在ID,如果ID存在,则需要检查同一个表中的一个字段是否为null 我是实体框架的新手,请帮助 目前正在这样做:- 这里我用两种方法进行选择,如果第一种方法返回true,我将检查第二种方法。基于此值,我需要启用/禁用选项卡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())
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}