我有两张桌子:
在实体框架模型中,关系一对多。 我想选择所有具有开头配置的教练,例如24.1.2016 9:00以及配置开始于24.1.2016 10:00。 我不知道如何在一个LINQ方法或LINQ查询中执行此操作。 我有这个代码。
List<instructor> result = new List<instructor>();
DateTime date = new DateTime(2016,1,24,9,0,0);
var dispositions = Db.disposition.AsQueryable();
var instructorsTen = Db.instructor.AsQueryable();
var instructorsNine = Db.instructor.AsQueryable();
instructorsNine = from i in instructorsNine from d in i.disposition where d.begin == date select d.instructor;
date= date.AddHours(1);
instructorsTen = from i in instructorsTen from d in i.dispozice where d.begin == date select d.instructor;
foreach (instructor insNine in instructorsNine) {
foreach (instructor insTen in instructorsTen) {
if (insNine.ID == insTen.ID) result.Add(insNine);
}
}
答案 0 :(得分:2)
我想选择所有具有开头配置功能的教练,例如24.1.2016 9:00,以及配置开始于24.1.2016 10:00。
您可以使用导航属性和Any这样的
var date1 = new DateTime(2016,1,24,9,0,0);
var date2 = date1.AddHours(1);
var result = Db.instructor
.Where(i => i.disposition.Any(d => d.begin == date1)
&& i.disposition.Any(d => d.begin == date2));