我正在为我创建的新解决方案设计我的数据访问。但是,该解决方案除了桌面之外,还包含紧凑框架、设备应用程序和库。所有.NET 3.5。桌面基本上会处理所有的数据访问。我需要的数据对象在CF中也有,桌面将与SQL通信,然后与移动,并给出适当的数据…
我喜欢LINQ,更喜欢LINQ2SQL。有很多炒作,我不相信微软内部关于推荐EF的政治观点。就目前而言,EF太重太复杂了,人们很难选择它,而且它还在发展,EF4在几个月后会有重大变化。但我不能等待几个月来创建一个项目,因为这里的每个开发人员,我现在就想要一些东西!在这之后,我想使用LINQ2SQL,我的问题是我不能只复制生成的dbml并使用生成的类。我不需要DataContext,因为我不打算在移动应用程序上使用CRUD或任何数据库操作。我只想要那些东西。有没有人遇到过这样的情况?重点并不是手工编写表示表的所有类。因为我需要它们来做进一步的LINQ to Objects操作。
基本上,一个支持CF的ORM就可以完成这项工作!但我不知道我会遇到什么不兼容的地方。
发布于 2009-12-16 16:23:36
我已经能够修改SubSonic 3.0,在添加了缺少的Queryable源代码之后,修改了Mono项目中的System.Linq.Expressions的db4o/Mainsoft端口,并在Codeplex上修改了Matt Warren的IQToolkit,以便在CF上提供L2S等效项。
这就是它所需要的,因为在.Net CF3.5上不支持Linq表达式树。
我能够使用从IQToolkit导入到Subsonic的DbEntityProvider/DbEntitySession和AttributeMapping/XMLMapping来提供更好的实体和表类映射支持。
发布于 2009-12-14 23:35:16
L2S与紧凑的框架一起工作得很好。但是,您不能使用拖放设计器。您需要自己运行SQLMetal.exe来为您生成类。
SQLMetal.exe:http://msdn.microsoft.com/en-us/library/bb386987.aspx
使用罗斯文紧凑的示例:http://blogs.msdn.com/sqlservercompact/archive/2007/08/21/linq-with-sql-server-compact-a-ka-dlinq-over-sql-ce.aspx
另一个例子,有很多图片:http://pietschsoft.com/post/2009/01/Using-LINQ-to-SQL-with-SQL-Server-Compact-Edition.aspx
发布于 2009-12-15 16:15:49
您可以在紧凑框架上使用DevExpress持久对象(XPO)。我以前使用过它,但发现它对我的目的(数据收集应用程序)来说有点慢。
在紧凑框架中找不到这些的原因是,速度对设备应用程序通常非常重要,数据访问代码通常是手动完成的。
我不知道您是否可以使用XPO从现有的数据库创建对象。
https://stackoverflow.com/questions/1901456
复制相似问题