我想知道我是否做出了正确的决定。我正在开发一个应用程序,允许用户从本地数据库(可能是SQL CE或SQLite)和远程共享数据库(最可能是MySQL)混合数据库条目。理想情况下,它必须灵活,并且与几种数据库服务器类型兼容(根据初始配置静态设置,不会动态混合几种类型),但这不是关键问题。
代码是C#,.NET 4。
自然而然,我考虑使用NHibernate,因为它在3.0版本中具有LINQ,这对于代码可读性和效率来说是一个优点,而且模型优先方法比Entity Framework更自然。它还具有Shards以进行混合数据库部分,这应该更容易处理。另一个选择是EF 4,否则我会更喜欢它,因为它在.NET上下文和Visual Studio中得到完全支持,并且在那里有一个有前途的未来。
Shards成熟了吗?它已经陷入了3 beta很长时间了,看起来像是一个死项目,人们是否部署了基于这个扩展的专业应用程序?它有未来吗?还是有其他选择?
NHibernate 3在Mono上运行吗?我认为是的,但实际确认会很好。如果必须开发替代接口的Web服务器,那将是另一个优势。
感谢您提前提供任何信息或反馈!
更新1
显然,.NET 4是一个问题,为了使用NHibernate,.NET 3.5更明智。此外,SQLite和SQL CE或其他框架部分(如WPF)显然存在问题。
NHibernate是否允许在不同的数据库类型之间进行分片(例如MySQL和SQLite)?
所以我开始相信,对于客户端来说,EF 4更安全,而对于可能的ASP.NET接口,NHibernate更好。
代码是C#,.NET 4。
自然而然,我考虑使用NHibernate,因为它在3.0版本中具有LINQ,这对于代码可读性和效率来说是一个优点,而且模型优先方法比Entity Framework更自然。它还具有Shards以进行混合数据库部分,这应该更容易处理。另一个选择是EF 4,否则我会更喜欢它,因为它在.NET上下文和Visual Studio中得到完全支持,并且在那里有一个有前途的未来。
Shards成熟了吗?它已经陷入了3 beta很长时间了,看起来像是一个死项目,人们是否部署了基于这个扩展的专业应用程序?它有未来吗?还是有其他选择?
NHibernate 3在Mono上运行吗?我认为是的,但实际确认会很好。如果必须开发替代接口的Web服务器,那将是另一个优势。
感谢您提前提供任何信息或反馈!
更新1
显然,.NET 4是一个问题,为了使用NHibernate,.NET 3.5更明智。此外,SQLite和SQL CE或其他框架部分(如WPF)显然存在问题。
NHibernate是否允许在不同的数据库类型之间进行分片(例如MySQL和SQLite)?
所以我开始相信,对于客户端来说,EF 4更安全,而对于可能的ASP.NET接口,NHibernate更好。