使用
OData服务,您不必直接返回数据库实体。您可以简单地
DTO以可查询的格式返回任何内容。然后,借助LINQ的
Select()方法,您可以
DTO在服务查询之前将任何数据库实体简单地转换为:
public class DataModel{ public DataModel() { using (var dbContext = new DatabaseContext()) { Employees = from e in dbContext.Employee select new EmployeeDto { ID = e.EmployeeID, DepartmentID = e.DepartmentID, AddressID = e.AddressID, FirstName = e.FirstName, LastName = e.LastName, StreetNumber = e.Address.StreetNumber, StreetName = e.Address.StreetName }; } } /// <summary>Returns the list of employees.</summary> public IQueryable<EmployeeDto> Employees { get; private set; }}您现在可以轻松地将其设置为OData服务,如下所示:
public class EmployeeDataService : DataService<DataModel>
有关完整的实现细节,请参见此主题的出色文章。一旦掌握了OData服务,它们实际上就会非常强大。



