跨越RIA服务将Linq共享到SQL实体

时间:2011-03-21 14:05:40

标签: silverlight linq-to-sql wcf-ria-services

我正在创建非常瘦的DTO,我想知道是否有一种方法可以自己共享Linq-to SQL实体。我试过了。我在局部类中创建了一个元数据类,并设置了键注释。然后我尝试在我的RIA服务中公开查询中的实体。虽然在生成的代码中抱怨System.Data.Linq,但我仍然遇到错误。这是有道理的,但有没有办法做到这一点,而不依赖于Silverlight中不可用的其他库?

注意,我没有使用实体框架,因为它对我当前的项目来说很重要。我宁愿使用瘦DTO而不是为这个项目引入EF。

编辑:

我的问题更普遍:LINQ to SQL实体可以直接用作RIA服务DTO并由服务共享吗?

1 个答案:

答案 0 :(得分:0)

简短回答:不采取其他措施否。

答案很长:

并非所有API都由Silverlight运行时表示的.NET Framework版本支持。有关支持者API的完整列表,请参见此处:

http://blogs.msdn.com/b/nickkramer/archive/2010/03/19/silverlight-4-rc-api-listing-in-one-big-text-file.aspx

如果您尝试使用任何依赖于不受支持的API的DLL,那么您将遇到遇到的问题。您无法在原始状态下通过RIA线推送LINQ to SQL类。

唯一可行的方法是,如果您的LINQ to SQL层是针对映射到DataContext的POCO类生成的,例如:http://www.thinqlinq.com/default/LINQ-to-SQL-support-for-POCO.aspx