Linq to sql 紧凑框架中的LINQ到SQL

Linq to sql 紧凑框架中的LINQ到SQL,linq-to-sql,orm,compact-framework,c#-3.0,Linq To Sql,Orm,Compact Framework,C# 3.0,我将继续为我创建的新解决方案设计数据访问。不过,该解决方案除了桌面之外还包含紧凑的框架设备应用程序和库。全部为.NET3.5。桌面将基本上处理所有数据访问。我需要的数据对象有在CF太,桌面将与SQL和移动通信,然后给适当的数据 我爱LINQ,更爱Linq2SQL。有很多炒作,我不相信微软内部关于推荐EF的政治。目前,EF太重,太复杂,人们无法选择它,而且它仍在发展中,几个月后EF4将有重大变化。但是我不能等待几个月来创建一个项目,因为这里的每个开发人员,我现在就想要一些东西!在这之后,我想使用L

我将继续为我创建的新解决方案设计数据访问。不过,该解决方案除了桌面之外还包含紧凑的框架设备应用程序和库。全部为.NET3.5。桌面将基本上处理所有数据访问。我需要的数据对象有在CF太,桌面将与SQL和移动通信,然后给适当的数据

我爱LINQ,更爱Linq2SQL。有很多炒作,我不相信微软内部关于推荐EF的政治。目前,EF太重,太复杂,人们无法选择它,而且它仍在发展中,几个月后EF4将有重大变化。但是我不能等待几个月来创建一个项目,因为这里的每个开发人员,我现在就想要一些东西!在这之后,我想使用LINQ2SQL,我的问题是我不能只复制生成的dbml并使用生成的类。我不需要DataContext,因为我不打算在移动应用程序中使用CRUD或任何数据库操作。我只想要这些东西。有人遇到过这样的情况吗?关键不在于手工编写表示表的所有类。因为我需要它们来进行进一步的LINQ到对象操作


基本上,一个支持CF的ORM就可以完成这项工作!但是我不知道我会遇到什么不兼容的地方。

L2S在紧凑的框架中工作得很好。但是,您不能使用拖放设计器。您需要自己运行SQLMetal.exe来生成类

SQLMetal.exe

北风紧凑型的示例


另一个例子,有很多图片

您可以在compact framework上使用DevExpress持久对象(XPO)。我以前使用过它,但发现它对于我的目的(数据收集应用程序)来说有点慢

在compact框架中找不到这一点的原因是速度对于设备应用程序来说非常重要,数据访问代码通常是手动完成的

我不知道您是否可以使用XPO从现有的数据库中创建对象。

我已经能够在添加缺少的源代码后修改Mono项目中的db4o/Mainsoft端口,以及Codeplex上的Matt Warren,以在CF上提供L2S等效端口

不过,这是因为.NETCF3.5不支持Linq表达式树


我能够使用从IQToolkit导入到Subsonic的DbEntityProvider/DbEntitySession和AttributeMapping/XMLMapping来提供更好的实体和表到类的映射支持。

这是一个很好的选项,可以从使用LINQ 2 SQL的dbml文件普通POCO类生成。尚未测试,但似乎已承诺

您是否签出了Kea-Linq for Sql Compact&Compact Framework


我不需要在我的桌面应用程序上使用SQL CE数据库,我只需要从表中生成类,似乎我将手动生成这些类……您可以运行SQLMetal从数据存储中获取对象,然后编辑生成的*.cs文件。这是一个选项。我想应该将所有EntitySet和EntityRef更改为通用集合。感谢您的建议。我认为这将支持从dbml文件复制生成的对象,但我不知道这方面的知识。那System.Data.Linq呢?其中有EntitySet EntityRef二进制数据类型和我认为的所有属性。如果我能支持这些,我想我就不必为设备手工编写业务对象了。不过这篇文章写得很好。