如何将值从数据库实体转换为字符串列表?

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