4

我们目前有一个桌面应用程序,它使用来自 SQL CE 的数据。我们将实体框架用于我们的 ORM 层到数据库,所有数据访问方法都是围绕此构建的。

现在我们必须在 Compact Framework 上为 Windows CE 6.0 构建这个应用程序的缩小版“克隆”,同样使用与桌面版本相同的 SQL CE 数据库设计。问题是紧凑的框架不支持实体框架,所以我们被迫以老式的方式访问数据库(ADO.net、数据集等)。然而,这导致了我们整个数据访问层的重复,并且对这两个应用程序的维护看起来可能会变成一场噩梦。

理想情况下,我想切换到适用于两个平台的最低公分母 - 根据当前信息,我想这意味着使用旧的 ADO.net 将是可行的方法,编译成单独的程序集,但我只是想问一下这里的任何人有任何其他建议,或者可能遇到过类似的情况?是否有任何可以在紧凑和完整框架上工作的 EF 替代方案?

4

2 回答 2

2

我们在 Windows CE(支持 SQLCE)、桌面(支持 SQLCE)和 Android(支持 SQLite)中使用OpenNETCF ORM,这三者使用几乎相同的代码。我说“几乎”是因为它们之间的数据存储初始化代码不同(目标文件名、存储位置等)。你也可以很容易地添加一个完整的 SQL Server 实现——它可能是 SQLite 内容的近 1:1 副本。我从来没有这样做过,只是因为我不需要它。

于 2012-08-03T14:49:44.247 回答
0

另请参阅:.NET Compact Framework(Windows Mobile 6.1、SQLServerCE)是否有免费的 ORM?

另一种选择:http ://sqlite.phxsoftware.com/

另一个选择:http ://www.db4o.com/s/compactframeworkdb.aspx

于 2012-08-03T10:35:17.690 回答