Получение связанной таблицы в виде списка <POCO>с использованием сущностей - PullRequest
2 голосов
/ 02 августа 2010

У меня проблема при попытке создать общий список с использованием POCO в запросе LINQ, который создает другое POCO:

var user =
from u in ctx.users
select new User
{
    id = u.UserID,
    name = u.Name,
    roles = u.Roles.ToList()
};

Я создал класс User и Role. Если я определю «роли» в User как:

public List<Roles> roles;

У меня нет проблем. Однако здесь используется объект Entities Roles, и я бы предпочел использовать свою собственную роль POCO:

public List<Role> roles;

Однако это приводит к следующей ошибке:

Error 3 Cannot convert lambda expression to type 'string' because it is not a delegate type

Как именно я использую мой POCO, а не объект Entity?

Ответы [ 3 ]

2 голосов
/ 02 августа 2010
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 
            { 
                ...
            }
};
0 голосов
/ 02 августа 2010
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()
  }
0 голосов
/ 02 августа 2010

У вас есть пространство имен:

 using System.Linq;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...