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