如何将值从数据库实体转换为字符串列表?
How to cast value from database entity to a list of strings?
如果我有这个 LINQ 代码:
object fA = from f in entities.Friends
where f.Friend_B == User.Identity.Name && f.AreFriends
select f.Friend_A;
在数据库中 table Friend Friend_A 的值定义为 nvarchar(50)。
我需要实现的是将返回给这个变量object fA
的好友列表转换为字符串列表; List<string>
或任何类型的可枚举集合或数组。
我尝试了很多方法,但都没有成功。这是最后一次尝试:
List<string> allFrinds = new List<string>();
using (FacebookDataEntities entities = new FacebookDataEntities())
{
object fA = from f in entities.Friends
where f.Friend_B == User.Identity.Name && f.AreFriends
select f.Friend_A;
IQueryable<string> faa = (IQueryable<string>)fA;
foreach(string s in faa)
{
allFrinds.Add(s);
}
最后allFrinds
为空!
您可以直接这样做:
var fA = (from f in entities.Friends
where f.Friend_B == User.Identity.Name && f.AreFriends
select f.Friend_A).ToList();
var allFriends = entities.Where(x => x.Friend_B == User.Identity.Name && x.AreFriends)
.Select(x => x.Friend_A).ToList()
如果我有这个 LINQ 代码:
object fA = from f in entities.Friends
where f.Friend_B == User.Identity.Name && f.AreFriends
select f.Friend_A;
在数据库中 table Friend Friend_A 的值定义为 nvarchar(50)。
我需要实现的是将返回给这个变量object fA
的好友列表转换为字符串列表; List<string>
或任何类型的可枚举集合或数组。
我尝试了很多方法,但都没有成功。这是最后一次尝试:
List<string> allFrinds = new List<string>();
using (FacebookDataEntities entities = new FacebookDataEntities())
{
object fA = from f in entities.Friends
where f.Friend_B == User.Identity.Name && f.AreFriends
select f.Friend_A;
IQueryable<string> faa = (IQueryable<string>)fA;
foreach(string s in faa)
{
allFrinds.Add(s);
}
最后allFrinds
为空!
您可以直接这样做:
var fA = (from f in entities.Friends
where f.Friend_B == User.Identity.Name && f.AreFriends
select f.Friend_A).ToList();
var allFriends = entities.Where(x => x.Friend_B == User.Identity.Name && x.AreFriends)
.Select(x => x.Friend_A).ToList()