我需要创建一个对象列表,OrganizationEnrolment,使用3个实体框架实体(用户、EnrolmentType和OrganizationEnrolment)创建:
List<OrganizationEnrolment> organizationEnrolments =
context.Organizations
.SelectMany(x => context.Users)
.SelectMany(x => context.EnrolmentTypes)
.Select(y => new OrganizationEnrolment {
EnrolmentType = enrolmentType
Organization = organization,
User = user
})我的问题是在有了SelectMany之后,如何从3个连接表中获取enrolmentType、组织和用户?请注意,以下代码:
EnrolmentType = enrolmentType,
Organization = organization,
User = user因为我没有变量enrolmentType、组织和用户,所以无法工作。
发布于 2017-03-21 14:55:21
可以使用查询语法获取所有这些变量:
from o in context.Organizations
from u in context.Users
from et in context.EnrolmentTypes
select new OrganizationEnrolment {
EnrolmentType = et
Organization = o,
User = u
}每个局部变量将在select语句中可见。
Lambda语法(用EF6检查):
context.Organizations.SelectMany(
o => context.Users.SelectMany(
u => context.EnrolmentTypes.Select(
et => new OrganizationEnrolment {
EnrolmentType = et
Organization = o,
User = u
})
)
)发布于 2017-03-21 14:55:34
这就是你要找的吗?
var query= from o in context.Organizations
from u in context.Users
from t incontext.EnrolmentTypes
select new OrganizationEnrolment {
EnrolmentType = t,
Organization = o,
User = u
};使用方法语法将是:
var query= context.Organizations.SelectMany(o=>context.EnrolmentTypes
.SelectMany(t=>context.Users
.Select(u=>new OrganizationEnrolment {
EnrolmentType = t,
Organization = o,
User = u
})));https://stackoverflow.com/questions/42930508
复制相似问题