【问题标题】:LINQ to SQL replacement in .NET Compact Framework.NET Compact Framework 中的 LINQ to SQL 替换
【发布时间】:2023-03-24 23:59:01
【问题描述】:

我的任务是将我们的 .NET 桌面应用程序移植到移动设备上。我们的桌面应用程序使用 LINQ to SQL 与数据库进行交互。但是,LINQ to SQL 在移动设备上不可用。我们为 Windows Mobile 5 和 6 开发。

我正在讨论是否建议使用开箱即用的同时支持桌面和移动设备的不同 ORM(http://www.entityspaces.net/portal/ 对我来说似乎是最好的)。然而,由于我们的数据库相对较小(其中一个相对简单,只有 10 个表;另一个是 27 个表,但关联更复杂),我更倾向于自己重新编码域对象和数据访问函数。

还有其他人遇到过这种情况吗?你做了什么选择?

【问题讨论】:

    标签: c# .net linq-to-sql compact-framework mobile


    【解决方案1】:

    我个人可以推荐 LLBLGen。他们为 v1.0 和 2.0 提供 CF 框架支持。映射表格非常快速,生成的实体可用于移动设备和桌面设备。它也不贵,而且有很长的记录。根据您的要求,那将是最快的方式。在 POCO(普通旧 CLR 对象)中执行此操作并使用 Linq to Objects 是可行的,但需要更长的时间。

    【讨论】:

      【解决方案2】:

      这里还有两个选择:

      http://www.llblgen.com/defaultgeneric.aspx

      http://www.devexpress.com/Products/NET/ORM/info.xml

      就个人而言,我从来没有在 Compact Framework 上使用过 LINQ to Sql,我做过的唯一接近的事情是在桌面上使用 Linq to Sql 对抗 SqlCe。

      现在,根据您的数据层的错误程度,可能值得看看您是否可以使用这些 ORM 中的任何一个,看看您现有的代码有多少是可重用的,或者重写它可能非常值得(再次,取决于项目的大小)

      【讨论】:

      • 他从未在 Compact Framework 上使用过 LINQ to Sql,因为它不受支持。
      【解决方案3】:

      我的团队正在使用T4 根据数据库的结构以及我们用来将 POCO 类和属性映射到 SQL Compact 表和列的约定来生成基本的 CRUD 操作。这有点工作,但工作正常。

      【讨论】:

      • 谢谢。我决定将 POCO 类/属性与​​ LINQ to Objects 一起使用,因为 DB 不是太大。我会看看 T4,因为这可能会让我们更容易。
      【解决方案4】:

      您不能通过 SqlServerCE 直接使用 linq to sql。使用 CF,您只有 linq to Xml、Linq to DataSet 和 Linq to objects 风格可用。 我正在开发一个移动应用程序,因为我正在使用 SqlCeResultSet 对象来处理数据,并且因为该对象实现了 IEnumerable,所以您可以将 Linq 与它一起使用。

      也许这对你有帮助

      http://www.pluralsight.com/community/blogs/jimw/archive/2008/02/27/50325.aspx

      【讨论】:

      • 有趣。我不是 ADO.NET 性能方面的专家。现在我正在使用 SqlCeDataReader 来遍历结果并创建一个 List 因为 List 可以与 LINQ 一起使用。计划使用延迟加载来提高性能。
      【解决方案5】:

      您可能想查看这个开源框架:
      Kea - Linq for Sql Compact & Compact Framework

      http://kea.codeplex.com/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-06
        相关资源
        最近更新 更多