【发布时间】:2012-08-07 18:34:04
【问题描述】:
我的这段代码不起作用,因为 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
};
}
附:不过,我确实喜欢 LINQ 和 E.F.。 :)
【问题讨论】:
标签: linq entity-framework wcf-ria-services