Сущность к WCF датаконтракт - PullRequest
3 голосов
/ 18 декабря 2010

Я использую Enity Framework для извлечения данных из моей базы данных. В WCF мой метод имеет тип возврата List<EmployeeTable>. Но я не могу проверить свой сервис в тестовом клиенте WCF.

Нужно ли мне писать свой пользовательский контракт данных для возврата извлеченных данных.

Edit:

Как мне справиться с этим делом:

var query = from c in customers
            join o in orders on c.ID equals o.ID
            select new { c.Name, o.Product };

1 Ответ

4 голосов
/ 18 декабря 2010

Хорошей практикой является отделение DTO от сервисных объектов. Вам нужно создать класс сотрудника службы и внедрить методы преобразователя из / в DTO сотрудника.

Затем возвратите операцию службы.список сотрудников службы, а не список DTO.

В качестве начала:

public static Service.Employee ToServiceEntity(Data.Employee dataEmployee)
{
    Service.Employee result = new Service.Employee();
    result.FirstName = dataEmployee.FirstName;
    ...
    return result;
}

и метод реализации вашего операционного контракта:

public List<Service.Employee> GetEmployees(...)
{
  IEnumerable<Data.Employee> dataEmployees = // Retrieve employees from data repository
  var serviceEmployees = dataEmployees.Select(dataEmployee => EntityConverter.ToServiceEntity(dataEmployee°);

  return serviceEmployees.ToList();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...