我有一个实体模型,它从我的数据库中添加了一些表格。我想要包含一个自定义类,它将充当数据模型并返回自定义数据。这是我想要做的:
// My custom data model
public class DataModel
{
var dbContext = new ODataDemoEntities();
Employees = from e in dbContext.Employee
select new EmployeeModel
{
ID = e.EmployeeID,
FirstName = e.FirstName,
LastName = e.LastName
};
public IQueryable<EmployeeModel> Employees { get; private set; }
}
// My custom class
[DataServiceKey("ID")]
public class EmployeeModel
{
/// <summary>ID of the employee.</summary>
public int ID { get; set; }
/// <summary>First name of the employee.</summary>
public string FirstName { get; set; }
/// <summary>Last name of the employee.</summary>
public string LastName { get; set; }
}
// My WCF Data Service Code
public class EmployeeDataService : DataService<DataModel>
{
// This method is called only once to initialize service-wide policies.
public static void InitializeService(DataServiceConfiguration config)
{
config.SetEntitySetAccessRule("Employees", EntitySetRights.AllRead);
config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
}
}
但是我想在我现有的实体数据模型类中包含这个Employees类,因此我不是使用不同的数据模型创建单独的服务,而是扩展现有的数据模型以包括我的自定义类(EmployeesModel)。
答案 0 :(得分:1)
为什么要在现有实体上公开自定义视图?客户端无论如何都可以这样做,并使用投影以他们想要的方式自定义它们。客户端的查询看起来就像上面写的那样初始化Employees属性。
目前,没有办法做到这一点。我们正在研究如何确保在下一版本中实现。虽然没有承诺,但我们已经多次询问过其中一项事项,并且在我们的专业列表中有很高的要求。
使用此投票网站对此功能进行投票:http://blogs.msdn.com/b/astoriateam/archive/2010/09/10/what-do-you-want-to-see-added-changed-in-wcf-data-services.aspx
由于 PRATIK