WCF 数据服务和 EF4 CTP5,如何为查询配置默认的急切加载模式?
Posted
技术标签:
【中文标题】WCF 数据服务和 EF4 CTP5,如何为查询配置默认的急切加载模式?【英文标题】:WCF Data services & EF4 CTP5, how to configure default eager loading schemas for queries? 【发布时间】:2011-01-15 16:01:18 【问题描述】:项目: 通过 OData(Wcf 数据服务)公开由代码优先方法配置的实体框架 ObjectContext。
对于简单的查询和 CUD 操作,一切正常。 但是,我看不到如何配置默认模式加载(服务器端)。
IE:如果我的实体 Customer 具有地址集合或与名为 Manager 的实体的一对一关系,我如何配置我的 ObjectContext 以便对客户的每个查询都会自动加载所有地址和经理客户实体?
我知道在客户端,调用者可以使用query().Expand("path")
来预先加载数据。但是,我想在服务器端指定它,以便对客户实体的所有查询都会产生,因为它是默认配置的 .Include("Addresses")
或 .Include("Manager")
?
有什么想法吗?
我们能想到的唯一“黑客”是HTTPModule
,它拦截GET
请求并将一些?expand=XXX
添加到URL。如果我们找不到更好的解决方案,这将是我最后的解决方案......
感谢您的帮助!
【问题讨论】:
【参考方案1】:您可以尝试使用查询拦截器。
http://msdn.microsoft.com/en-us/library/dd744837.aspx
【讨论】:
以上是关于WCF 数据服务和 EF4 CTP5,如何为查询配置默认的急切加载模式?的主要内容,如果未能解决你的问题,请参考以下文章