Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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/6/ant/2.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
Linq 以列表形式检索相关表<;POCO>;使用实体_Linq_Linq To Entities - Fatal编程技术网

Linq 以列表形式检索相关表<;POCO>;使用实体

Linq 以列表形式检索相关表<;POCO>;使用实体,linq,linq-to-entities,Linq,Linq To Entities,在创建另一个POCO的LINQ查询中尝试使用POCO创建通用列表时遇到问题: var user = from u in ctx.users select new User { id = u.UserID, name = u.Name, roles = u.Roles.ToList() }; 我已经创建了用户和角色类。如果我将用户中的“角色”定义为: public List<Roles> roles; 如何确切地使用POCO而不是实体对象?您是否有名称空间:

在创建另一个POCO的LINQ查询中尝试使用POCO创建通用列表时遇到问题:

var user =
from u in ctx.users
select new User
{
    id = u.UserID,
    name = u.Name,
    roles = u.Roles.ToList()
};
我已经创建了用户和角色类。如果我将用户中的“角色”定义为:

public List<Roles> roles;

如何确切地使用POCO而不是实体对象?

您是否有名称空间:

 using System.Linq;
List userEntities=ctx.Users.Include(“角色”).ToList();
列出用户=
来自用户实体中的u
选择新用户()
{
id=u.UserId
名称=美国名称
角色=
(
从r到角色
选择新角色()
{
}
)托利斯先生()
}

您只是将“角色”表示为两种不同的东西。你能重述一下你的问题吗?这不太管用,我想知道你是否能解释一下:实际上,该代码生成的异常与我之前遇到的相同。如果我将“from”包装到()中的结尾“}”,我就能够调用.ToList(),代码将被编译。但是,它生成了一个新的异常:“LINQ to Entities无法识别方法'System.Collections.Generic.List
1[MVC1.Models.Role]ToList[Program](System.Collections.Generic.IEnumerable
1[MVC1.Models.Role]),并且此方法无法转换为存储表达式。”(如果相关,我使用的是3.5。)
User.Roles
属性不能是字符串。它需要是某种类型的列表(例如,
IList
)。
Error 3 Cannot convert lambda expression to type 'string' because it is not a delegate type
 using System.Linq;
var user =
from u in ctx.users
select new User
{
    id = u.UserID,
    name = u.Name,
    roles = from r in u.Roles
            select new Role 
            { 
                ...
            }
};
List<Data.User> userEntities = ctx.Users.Include("Roles").ToList();

List<POCO.User> users =
  from u in userEntities
  select new User()
  {
    id = u.UserId
    name = u.Name
    roles =
    (
      from r in Roles
      select new Role()
      {

      }
    ).ToList()
  }