我是新的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