我是新的Linq并找不到类似的主题。 我只想显示当前已通过身份验证的用户所在的组织。Linq通过多个对象类
我有以下的LINQ,但返回的组织是不正确的:
OrganizationList.DataSource = from i in Database<Organization>.Linq()
where (i.Users.Select(y => y.User.Id).Contains(user_id))
select i;
这里是类:
public class Organization
{
int Id
string Name
IList<OrganizationUser> Users
[...]
}
OrganizationUser
{
int Id
User User
Organization Organization
[...]
}
User
{
int Id
string FirstName
string LastName
[...]
}
假设:
Database<TEntity> where TEntity : class
user_id是验证当前用户ID
我使用NHibernate
我不能修改类的,所以OrganizationUser必须使用。
你能帮我吗?
编辑: 非常感谢您的帮助!
这两种解决方案都工作:
OrganizationList.DataSource = Database<Organization>.Linq()
.Where(o => o.Users.Any(u => u.User.Id == user_id));
OrganizationList.DataSource = from i in Database<Organization>.Linq()
where (i.Users.Any(y => y.User.Id == user_id)
select i;
感谢名单再次:)
** **如何是不正确的结果。除了'你能帮我吗?',我没有看到问题吗? – LukeHennerley 2013-02-13 10:53:41