【问题标题】:What .NET ORMs support smart clients (ie object mapping and data synchronization)哪些 .NET ORM 支持智能客户端(即对象映射和数据同步)
【发布时间】:2009-04-06 20:06:02
【问题描述】:
我最近参与了一个需要智能客户端的项目。我们为 ADO.NET 使用了 SQL Server Compact Edition 和 Microsoft Sync Services。我们的在线服务器是 SQL Server 2005。一个准 ORM/DAL(非常符合我们的需求)是由我们团队的成员手工编码的。在这种情况下创建自定义 ORM 花费了我们很多本可以在其他地方使用的开发时间。任何人都可以推荐一个专为智能客户设计的第三方 ORM 吗?
我想我正在寻找一个集成以下内容的 ORM:
- 标准的向前和向后对象映射功能
- 一个灵活且细粒度的同步框架(即,我希望能够逐个对象指定验证和冲突解决策略)
- 对 XBAP 或 Silverlight 客户端的支持会很好,但不是必需的。
我还应该注意,我并没有明确地将 MSSQL 或 MSSQL CE 用于数据。
我只发现一款名为 Telerik OpenAccess 的产品似乎可以满足这些需求。有没有人有这方面的经验? http://www.telerik.com/products/orm.aspx
还有其他建议吗?
【问题讨论】:
标签:
orm
synchronization
smartclient
【解决方案1】:
NHibernate 或 Linq-2-SQL 将是您的标准答案 :)
我个人非常喜欢 NHibernate,但我不确定它有多少开箱即用的 SQL 方言。但它非常受欢迎,所以我认为除了 MYSQL / MSSQL 之外,找到其他方言并不难
【解决方案2】:
是的,我们正在使用 OpenAccess。在像您一样手动编码 ORM 之后,开始寻找更快/更便宜/不那么痛苦的解决方案,而 OA 是赢家。
我认为 NHibernate 也是一个很棒的工具,但我经常读到关于中/大型数据库的性能和建模问题。我试过了,这对我来说是一个不同的世界。
Telerik 说 CE 支持将在 2009 年 Q1 增加,我希望这是真的:) 所以我认为你应该给 OA 一个机会,因为
- 它具有出色的前向和后向映射
- 向导
- 很好可配置过程
- 类和属性或/和基于 xml 的映射
- 我有良好的表现经验
- 智能客户端环境中的优点:缓存、延迟加载、静态编译技巧
-
LINQ、SQL、OQL
- 断开连接的模型,n 层支持(好吧,只是一个类但可以工作:)
- Silverlight 示例