![](/img/trans.png)
[英]How to write below mysql query using Entity Framework with Lambda expression?
[英]Lambda expression query of MySQL query
我正在尝试针对父子关系表编写MySQL查询的lambda表达式,但是我没有就数据获得适当的输出,所以任何人都可以告诉我我们将如何编写它。
Parent_Type(Parent Table) :-
CREATE TABLE `Parent_Type` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`NAME` VARCHAR(255) NULL ,
`FLAG` decimal(1,0) DEFAULT NULL,
PRIMARY KEY (`ID`) );
Child_Type(子表):-
CREATE TABLE `Child_Type` (
`ID` INT NOT NULL AUTO_INCREMENT ,
`NAME` VARCHAR(255) NULL ,
`Parent_TYPE_ID` INT NULL,
`FLAG` decimal(1,0) DEFAULT NULL,
PRIMARY KEY (`ID`),INDEX `fk_Child_Type_1` (`PARENT_TYPE_ID` ASC),
CONSTRAINT `fk_Child_Type_1`
FOREIGN KEY (`PARENT_TYPE_ID` )
REFERENCES `parent_type` (`ID` )
ON DELETE NO ACTION
ON UPDATE NO ACTION);
虚拟数据:-ParentType-
ID Name FLag
1 A 0 2 B 0 3 C 1
ChildType:-
Id---------Name-----------------Parent_Type_Id-------Flag
1 GA 1 0 2 GB 1 1 3 GC 2 1 4 GD 2 0 5 GE 3 0
MySQL查询:
SELECT * from parent_type p left outer join child_type c
on p.ID = c.PARENT_TYPE_ID where p.flag=0 AND c.flag=0;
因此,我需要在两个表中都具有flag = 0的数据。 OutputData:-
Id Parent_Type_Id Name ChildName Flag
1 1 A GA 0 4 2 B GD 0
Upper Query正在运行,并且输出正确。 谁能告诉我该查询如何在lambda表达式中完成。
请分享您的lamda表达式。...尝试此操作,可能对您有所帮助。
IList parentList = parent_type.Where(x => x.FLAG == 0 &&(x => x.child_type.where(t => t.FLAG == 0).Count> 0))。ToList();
尝试这个 ....
var lambdaExpression = ParentType.Where(c => c.Flag == 0).Join(ChildType.Where(uc => uc.Flag == 0),c => new {c.Name,c.ID},uc =>新的{uc.Name,uc.ID},(c,uc)=> c);
如果仍然遇到问题,请参阅此...
试试这个Linq,它可能对您有帮助
var linqQuery= from pa in parent_list where pa.Flag==0
select ch in pa.child_type_list where ch.Flag==0
select new
{
id=ch.id,
Parent_Type_Id=ch.Parent_Type_Id.ID,
Name=ch.Parent_Type_Id.Name,
ChildName=ch.Name,
Flag=ch.Flag
};
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.