Includes 一對一 返回
夢 发布于1个月前
//實體
public partial class YearsEndingTaskPersonDetail{
[Navigate(NavigateType.OneToOne, nameof(UserNo), nameof(YearsEndingPersonSalaryMoneyDetail.UserNo))]
public YearsEndingPersonSalaryMoneyDetail yearsEndingPersonSalaryMoneyDetail { get; set; }
[Navigate(NavigateType.OneToOne, nameof(UserNo), nameof(YearsEndingPersonSalaryDetail.UserNo))]
public YearsEndingPersonSalaryDetail yearsEndingPersonSalaryDetail { get; set; }
}
//查詢
List<YearsEndingTaskPersonDetail> list=Db.Queryable<YearsEndingTaskPersonDetail>()
.LeftJoin<YearsEndingPersonSalaryMoneyDetail>((r,b)=>r.UserNo==b.UserNo && b.FormNo== FromNo) //FromNo方法傳入的值
.LeftJoin<YearsEndingPersonSalaryDetail>((r, b,c) => r.UserNo == c.UserNo && c.FormNo == FromNo)
這個如何使用 Includes 去實現綁定
热忱回答(8)
-
fate sta VIP0
1个月前0 回复 -
夢 VIP0
1个月前額,不行我之前試過用IncludeLeftJoin 用過這個,是也能查詢出來,但是YearsEndingTaskPersonDetail類面裡面的YearsEndingPersonSalaryMoneyDetail屬性是null,沒有賦值上
0 回复 -
夢 VIP0
1个月前
0 回复 -
fate sta VIP0
1个月前AOP看SQL
0 回复 -
fate sta VIP0
1个月前填充用Includes
0 回复 -
fate sta VIP0
1个月前只是条件用IncludesLeftJoin
0 回复 -
fate sta VIP0
1个月前//导航+主表过滤 导航属性过滤varlist = db.Queryable<StudentA>().Includes(x => x.SchoolA)//填充子对象 (不填充可以不写).Where(x =>x.SchoolA.SchoolName=="北大").ToList();//导航+主表过滤 只查有导航数据 (新功能:5.1.2.8)varlist = db.Queryable<StudentA>().Includes(x => x.SchoolA)//填充子对象 (不填充可以不写).Where(x => SqlFunc.Exists(x.SchoolA.主键)).ToList();也可以这样
0 回复 -
夢 VIP0
1个月前
我這裡的一對一的條件是這樣的是要在連接的基礎上加上YEPSMD .form='aaa'才能實現一對一如果不加是一對多的關係SELECT * FROM YEARS_ENDING_TASK_PERSON_DETAIL yetpdLEFT JOIN YEARS_ENDING_PERSON_SALARY_MONEY_DETAIL yepsmd ON yetpd.USER_NO =YEPSMD .USER_NO AND YEPSMD .form='aaa'如果使用//导航+主表过滤 导航属性过滤varlist = db.Queryable<StudentA>().Includes(x => x.SchoolA)//填充子对象 (不填充可以不写).Where(x =>x.SchoolA.SchoolName=="北大").ToList();//导航+主表过滤 只查有导航数据 (新功能:5.1.2.8)varlist = db.Queryable<StudentA>().Includes(x => x.SchoolA)//填充子对象 (不填充可以不写).Where(x => SqlFunc.Exists(x.SchoolA.主键)).ToList();會報出單列子查詢所傳回的資料列不只一列錯誤,應為我這個導航是一對一的 只有加上這個AND YEPSMD .form='aaa'才會獲取到唯一的一個
0 回复