Silverlight的LINQ-to-SQL相当于什么?

Edw*_*uay 5 linq silverlight wcf data-access-layer wcf-ria-services

我有一个WPF应用程序在本地.MDF文件上使用LINQ-to-SQL.这个解决方案简单,容易,有效,即我设置了一次模型,然后通过LINQ在任何地方读/写数据:

        using (var db = Datasource.GetContext())
        {
            oldItem = (from i in db.Infos
                       where i.Id == TheId
                       select i).SingleOrDefault();
            CreateForm(db, FormBase, oldItem, Button_Save);
        }
Run Code Online (Sandbox Code Playgroud)

对于Silverlight应用程序来说,这个简单的等价物是什么?

搜索我发现了一系列术语:

  • WCF RIA服务,WCF数据服务(ADO.NET数据服务,Astoria),数据服务工具包
  • .NET RIA服务
  • 的OData(达拉斯)
  • 的GData
  • REST,基于REST,类似REST,受REST启发
  • XML,JSON,RDF + XML
  • Web服务,SOA
  • 基于云的服务,Azure,SQL Azure,Azure服务平台

我想做的就是:

  • 创建一个.mdf文件
  • 使用一些类似LINQ-to-SQL的工具来生成支持Web的(REST?)数据层等.
  • ftp .mdf文件和类到我的ASP.NET Web托管服务
  • 编写使用LINQ读写此数据源的Silverlight客户端

Hrv*_*udo 4

专注于学习 RIA 数据服务或 WCF 数据服务。它将 Silverlight 内的 LINQ 查询转换为 REST 请求,并让您无需编写一些基础架构代码。整个想法是,您的 SL 应用程序仅与 Web 服务通信,您无权访问物理数据库,就像您使用某些 ORM (L2S) 时一样。在 SL 中,您位于浏览器的沙箱内,这会阻止您访问文件系统,包括数据库文件。
其他方法是编写 Web 服务并通过它公开数据 (GetArticleByID),然后您可以使用 Silverlight 中的该服务。然后,您使用 LINQ 迭代获取、加载的数据。