我正在使用 Enity Framework 从我的数据库中获取数据。在 WCF 中,我的方法的返回类型为 List<EmployeeTable>
。但是我无法在 WCF 测试客户端中测试我的服务。
我是否需要编写我的自定义数据契约来返回获取的数据。
编辑:
我该如何处理这种情况:
var query = from c in customers
join o in orders on c.ID equals o.ID
select new { c.Name, o.Product };
最佳答案
将 DTO 与服务实体分开是一种很好的做法
您需要做的是创建一个服务员工类并实现从/到您的员工 DTO 的转换器方法。
然后让您的服务操作返回服务员工列表而不是 DTO 列表。
作为初学者:
public static Service.Employee ToServiceEntity(Data.Employee dataEmployee)
{
Service.Employee result = new Service.Employee();
result.FirstName = dataEmployee.FirstName;
...
return result;
}
以及实现您的运营契约(Contract)的方法:
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();
}
关于c# - 实体到 WCF 数据契约,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4476566/