Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在LINQ中将多行值转换为集合(列表)_Sql_Database_Linq_Collections - Fatal编程技术网

Sql 在LINQ中将多行值转换为集合(列表)

Sql 在LINQ中将多行值转换为集合(列表),sql,database,linq,collections,Sql,Database,Linq,Collections,我正在努力将属于同一用户的多行值转换为集合 下面是一个简单的场景 用户表:用户ID、密码 地址表:地址,用户ID 用户表和地址表是一对多相关的——一个用户可能有多个地址。 假设用户的ID为1001,而他/她有两个地址,一个在奥克兰,另一个在惠灵顿。 我想同时选择这两个选项和用户id。 1001奥克兰 惠灵顿1001 所以问题是,是否有任何方法能够将这两个值放入类似于列表的集合中 public class UserDetails{ private List<String> _A

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

下面是一个简单的场景

用户表:用户ID、密码

地址表:地址,用户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()**
};
公共类用户详细信息{
私人名单地址
公共字符串用户标识{get;set;}
公开名单地址{
获取{retrun\u地址;}
设置{u Address=value;}
}
}
var user\u address=来自用户中的用户
在_user.userid=_address.userid上的地址中加入_address
选择新用户详细信息{
userid=\u user.userid
**add()地址**
};
有人知道如何在LINQ中构造列表并调用add方法吗。 我想把list对象放在一行中,这样就避免了userid的冗余


谢谢你的帮助。

也许是这样的:

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()
};

您不必加入地址表。

可能是这样的:

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()
};

您不必加入地址表。

谢谢您的回答,太好了。没问题。如果你对ANWSER很好,你可以考虑接受它。谢谢你的回答,那太好了。没问题。如果你对ANWSER很好,你可以考虑接受它。