鉴于直接通过Web服务将linq暴露给sql或实体框架类是一个坏主意,我应该如何通过WCF等Web服务公开数据?
似乎我必须为Web服务创建一组并行类,然后将数据编组到那些看起来不太优雅的数据中。
Web服务将是自定义的,因此像RIA这样的东西在这种情况下不是很有用。
答案 0 :(得分:1)
您是否看过OData和WCF数据服务?以下是ScottHa的精彩演讲:http://www.hanselman.com/blog/ODataBasicsAtTheAZGroupsDayOfNETWithScottGu.aspx
OData通过WCF数据服务与EF 4无缝协作。
答案 1 :(得分:1)
您可以使用EF 4中对POCO(普通旧CLR对象)的支持将实体模型公开为简单对象。设计人员支持将实体数据模型转换为POCO对象。
特别是对于WCF服务方案,当您尝试向项目中添加新项目时,您还可以使用EF 4中提供的自我跟踪实体T4模板。
我希望以下链接对您有所帮助
http://blogs.msdn.com/b/efdesign/archive/2010/03/10/poco-template-code-generation-options.aspx
Generate POCO classes in different project to the project with Entity Framework model