我有这段代码不起作用,因为 Entity Framework 无法识别该CreateItemDC
方法。 是为给定实体CreateItemDC
创建数据契约的模块化私有方法。Item
每当我需要返回项目数据合同时,我会在整个服务中使用CreateItemDC
所有功能,但我不能在这里使用它。我可以实现ProjectItems
数组或可枚举的序列,因为我必须对ProjectItem
数据库中的所有实体执行此操作,因为查询条件是在客户端上指定的,而我在这里无权访问它。我在这里有更好的选择吗?似乎 RIA 服务不值得麻烦。我真的希望我在这个项目中使用了普通的 WCF。
[Query]
public IQueryable<ProjectItemDC> GetProjectItems()
{
return from projectItem in ObjectContext.ProjectItems
select new ProjectItemDC
{
ID = projectItem.ID,
LibraryItem = CreateItemDC(projectItem.LibraryItem),
LibraryItemID = projectItem.LibraryItemID,
ProjectID = projectItem.ProjectID,
Quantity = projectItem.Quantity,
Width = projectItem.Width,
Height = projectItem.Height,
Depth = projectItem.Depth,
SheetMaterialID = projectItem.SheetMaterialID,
BandingMaterialID = projectItem.BandingMaterialID,
MaterialVolume = projectItem.MaterialVolume,
MaterialWeight = projectItem.MaterialWeight
};
}
PS 我确实喜欢 LINQ 和 EF。:)