Entity framework 具有实体框架的wcf数据服务
我正在尝试使用实体框架创建WCF数据服务项目。(我对两者都是新手) 我使用DB创建了实体。 现在,我创建了服务操作,它返回Entity framework 具有实体框架的wcf数据服务,entity-framework,wcf-data-services,Entity Framework,Wcf Data Services,我正在尝试使用实体框架创建WCF数据服务项目。(我对两者都是新手) 我使用DB创建了实体。 现在,我创建了服务操作,它返回IQueryable 我的问题是 我不想返回实体中的整组列。我不能从实体中删除它们,因为它不是空的。如何避免这些 我有几个FK列,我需要表的其他列详细信息。如何包含其他表中的列 为什么不能使用从WCF数据服务返回的POCO类 如何设置响应的格式;i、 例如,在响应中添加更多的细节,如页码等,更改xml标记,删除一些细节,如“link rel” 我已经尝试了很多事情来实现1和2
IQueryable
我的问题是
2.我有几个FK列,我需要其他列的详细信息 桌子 为此,您应该定义一个新类,该类与您需要的/希望客户机看到的内容相匹配。这可以是一个直接的POCO类-没有特殊要求。为每个实体组装该类,去掉不需要的列,并将FK列的一个或两个额外字段抓取到该新类中。返回一个
IQueryable
,而不是直接返回实体类
为了避免仅仅为了填充新类的属性而使用大量的左-右赋值语句,您应该看看哪些语句可以使复制彼此非常相似的类变得非常容易(例如,缺少或添加一些属性)
四,。如何设置响应的格式;i、 例如,在报告中再添加一些细节
如页码等响应,更改xml标记,删除一些细节
比如“链接关系”
这是不可能的——OData协议非常严格地定义了消息中的内容、有哪些链接等。如果你不能接受这些内容,你就必须推出自己的WCF REST服务,并完全放弃WCF数据服务
如果您想更彻底地调查该路线,请查看
更新:该链接似乎已失效-请改用。确保您有
Id
属性,或者指定[Key]
或[DataServiceKey(“您的自定义Id\u属性”)
对我来说,这解决了问题我正在按照你对第1点和第2点的建议做,我得到了错误“服务器在处理请求时遇到错误。异常消息为“在数据上下文类型“GamesContext”上”,有一个顶级IQueryable属性“Games”,其元素类型不是实体类型。确保IQueryable属性为实体类型,或指定数据上下文类型上的IgnoreProperties属性以忽略此属性。“。有关详细信息,请参阅服务器日志。异常堆栈跟踪是:“如下:@Priya10:似乎是一个-希望这可能对您有所帮助!@marc_s该链接似乎已失效,我明白了error@Maslow:是的,链接似乎死了-我添加了一个新链接,请看那里