1

我正在努力将属于同一用户的多行值转换为集合。

这是一个简单的场景。

用户表:用户名、密码

地址表:地址,用户ID

用户表和地址表是一对多相关的——一个用户可能有多个地址。假设用户的 ID 是 1001,而他/她有两个地址,一个在奥克兰,另一个在惠灵顿。我想将它们与用户 ID 一起选择。1001 奥克兰 1001 惠灵顿 所以问题是是否有任何方法能够将这两个值放入列表之类的集合中。

public class UserDetails{
    private List<String> _Address
    public string userid{get;set;}
    public List<String> Address{
    get{retrun _Address;}
    set{_Address=value;}
}
}

var user_address= from _user in users 

                  join _address in address on _user.userid=_address.userid

                  select new userDetails{
                  userid=_user.userid
                  **Address.add()**
};

有谁知道如何在 LINQ 中构造 List 并调用 add 方法。我想将列表对象放在一行中,以避免用户 ID 的冗余。

谢谢你的帮助。

4

1 回答 1

1

也许是这样的:

var user_address= from _user in users 
                  select new userDetails{
                  userid=_user.userid,
                  Address=(from _address in address
                           where _user.userid=_address.userid
                           select _address.:address
                           ).ToList()
};

您不必加入地址表。

于 2012-04-07T10:00:14.403 回答