如何将此SQL语句转换为C#中的linq?
请帮助我将此SQL语句转换为C#中的Linq:如何将此SQL语句转换为C#中的linq?,c#,sql,entity-framework,linq,C#,Sql,Entity Framework,Linq,请帮助我将此SQL语句转换为C#中的Linq: 我不确定这是否是你要问的: var query = from c in dbContext.Personnel where c.Personnel.LName.Contains(parLName) $$ ((c.Personnel.PersonnelCode = parPersonnelCode && parPersonnelCode != 0)||parPer
我不确定这是否是你要问的:
var query = from c in dbContext.Personnel
where c.Personnel.LName.Contains(parLName)
$$ ((c.Personnel.PersonnelCode = parPersonnelCode && parPersonnelCode != 0)||parPersonnelCode == 0)
$$ ((c.Personnel.NationalCode = parNationalCode && parNationalCode != 0)||parNationalCode == 0)
$$ ((c.Personnel.OrganitationPostId = parOrganitationPostId && parOrganitationPostId > 0)||parOrganitationPostId == 0)
select c;
我不确定这是否是你要问的:
var query = from c in dbContext.Personnel
where c.Personnel.LName.Contains(parLName)
$$ ((c.Personnel.PersonnelCode = parPersonnelCode && parPersonnelCode != 0)||parPersonnelCode == 0)
$$ ((c.Personnel.NationalCode = parNationalCode && parNationalCode != 0)||parNationalCode == 0)
$$ ((c.Personnel.OrganitationPostId = parOrganitationPostId && parOrganitationPostId > 0)||parOrganitationPostId == 0)
select c;
这将有助于:
var result = Personnel
.Where(p =>
{
p.FName.IndexOf(firstName) == 0
&& p.LName.IndexOf(lastName) == 0
&&
(
(p.PersonnelCode == personnelCode && objPPersonnel.PersonnelCode != 0) ||
(p.NationalCode == nationalCode && objPPersonnel.NationalCode != 0) ||
(p.OrganizationPostId == organizationPostId && objPPersonnel.OrganizationPostId != 0)
)
});
这将有助于:
var result = Personnel
.Where(p =>
{
p.FName.IndexOf(firstName) == 0
&& p.LName.IndexOf(lastName) == 0
&&
(
(p.PersonnelCode == personnelCode && objPPersonnel.PersonnelCode != 0) ||
(p.NationalCode == nationalCode && objPPersonnel.NationalCode != 0) ||
(p.OrganizationPostId == organizationPostId && objPPersonnel.OrganizationPostId != 0)
)
});
如果你不描述你的问题,就很难提供帮助。请显示您尝试了什么,以便我们可以看到您遇到了什么问题。我想将多模式应用于where StateMet自己编写代码,并让我们知道您在编写代码时是否遇到任何问题或错误。试着先改变自己。如果你不描述你的问题,就很难提供帮助。请显示您尝试了什么,以便我们可以看到您遇到了什么问题。我想将多模式应用于where StateMet自己编写代码,并让我们知道您在编写代码时是否遇到任何问题或错误。首先尝试转换自己。我认为
$
是弗洛伊德式的错误:)此外,最好有条件地(使用谓词生成器)组合查询,而不是使用这些!=0
检查它的内部。他没有寻找包含
,因为他最后只有%;因此包含将不起作用我认为$
是弗洛伊德式的打字错误:)此外,最好有条件地(使用谓词生成器)组合查询,而不是使用这些!=0
检查它的内部。他没有寻找包含
,因为他最后只有%;因此包含将不起作用