2011-03-21 36 views
1

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

请注意,我没有使用实体框架,因为它对我当前的项目来说很大。我宁愿使用薄薄的DTO,也不愿为这个项目带来EF。

编辑:

我的问题是更普遍的是:可以的LINQ to SQL实体可以通过服务,直接使用RIA服务DTO的和共享?

+1

我想我们需要的(简化的)例子合同接口和它的实现。 – 2011-03-22 10:00:04

+0

契约接口如何应用?我只想使用由我的Linq-to SQL创建的实体类作为RIA Services实体,而不必创建单独的DTO来投影它们。我讨论的依赖关系是Silverlight中不可用的框架依赖关系(即'System.Data.Linq')。 – Jordan 2011-03-22 20:58:27

+0

一个快速谷歌出现了这个链接http://www.c-sharpcorner.com/UploadFile/nipuntomar/958/这似乎提供了一个使用RIA与LINQ-to-SQL的具体例子。 – Rus 2011-03-22 21:01:44

回答

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类。

这会工作的唯一方法是,如果针对被映射到一个DataContext比如这个例子POCO类生成的LINQ到SQL层:http://www.thinqlinq.com/default/LINQ-to-SQL-support-for-POCO.aspx

+0

这就是我正在寻找的答案。谢谢。我会坚持我的DTO的。 – Jordan 2011-04-08 13:11:58