【问题标题】:Sharing Linq to SQL entities across RIA services跨 RIA 服务共享 Linq to SQL 实体
【发布时间】:2011-03-21 14:05:39
【问题描述】:

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

注意,我没有使用实体框架,因为它对我当前的项目来说太大了。我宁愿使用瘦 DTO,也不愿为 this 项目引入 EF。

编辑:

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

【问题讨论】:

  • 我认为我们需要一个(简化的)合约接口示例及其实现。
  • 合约接口到底是如何应用的?我只是想将我的 Linq-to SQL 创建的相同实体类用作 RIA 服务实体,而不必创建单独的 DTO 将它们投影到其中。我所说的依赖是 Silverlight 中不可用的框架依赖(即System.Data.Linq)。
  • 一个快速的谷歌打开了这个链接c-sharpcorner.com/UploadFile/nipuntomar/958,它似乎提供了一个使用 LINQ-To-SQL 和 RIA 的具体示例。
  • 我的意思是 RIA 为您生成的代码,您可以使用“自己的东西”进行扩展。

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


【解决方案1】:

简短回答:不采取其他方法。

长答案:

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

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

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

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

【讨论】:

  • 这就是我一直在寻找的答案。谢谢你。我会坚持我的 DTO。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-21
  • 2010-12-20
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 2011-04-27
相关资源
最近更新 更多