C# 是否有使用MS Access(用于原型制作)的ORM?
我正处于项目的早期阶段,目前还不清楚我们是否需要一个“真正的”数据库(即SQL Server等)。所以我一直在使用MS Access做一些原型设计,到目前为止效果很好。(在C#/VS2008/.Net 3.5/MS-Access 2000中开发) 然而,对象关系阻抗失配已经变得令人讨厌,并且随着项目的发展只会变得更糟 我还没有找到一个能与MS Access一起工作的ORM。有什么建议吗 编辑-跟进C# 是否有使用MS Access(用于原型制作)的ORM?,c#,ms-access,orm,C#,Ms Access,Orm,我正处于项目的早期阶段,目前还不清楚我们是否需要一个“真正的”数据库(即SQL Server等)。所以我一直在使用MS Access做一些原型设计,到目前为止效果很好。(在C#/VS2008/.Net 3.5/MS-Access 2000中开发) 然而,对象关系阻抗失配已经变得令人讨厌,并且随着项目的发展只会变得更糟 我还没有找到一个能与MS Access一起工作的ORM。有什么建议吗 编辑-跟进 我们最终使用了Fluent NHibernate,主要是因为它将我们的对象模型自动映射到关系数据库
我们最终使用了Fluent NHibernate,主要是因为它将我们的对象模型自动映射到关系数据库,这对我们来说是一个巨大的胜利。我们发现的大多数FNH代码示例都使用SQLite,这非常有效,我们打算将其用于生产数据库。(应用程序是一个桌面科学数据收集和分析程序包)。
不能给你一个问题的答案,但是你可能想考虑以下选项之一:
- SQL Server Express:是免费的,并且与完整的SQL Server兼容
- :也是免费的,不需要任何部署/安装,不支持所有功能(例如,无存储过程)
如果这是一个您打算部署到客户机的应用程序,每个客户机都有自己独特的数据库,我建议您完全使用另一种解决方案。SQLite在每个应用程序的基础上为您提供数据库功能。如果您有一个中央数据库服务器,前面提到的解决方案之一将是最好的。在这个阶段,如果您不确定是否需要“真正的”数据库,我将跳过MS Access,直接转到sql server express。它是免费的,仍然允许你做你需要做的一切
另外,如果您以后决定需要进行扩展,那么您可以毫不费力地进行扩展。选择Access数据库引擎是一个不错的选择时,只有一种情况:使用Access表单构建自包含的Access应用程序时(尽管首先选择使用Access是一个值得怀疑的选择;)
VS2008最适合使用的数据库引擎是SQL Server,您将很容易找到一个适合使用SQL Server的ORM。我建议您使用类似Microsoft SQL Server或PostgreSQL的工具进行原型设计。如果您不想学习特定的SQL语法并安装用于设计数据库模式的特殊工具,可以使用ORM从持久类声明自动生成数据库模式。无论如何,这种方法对于原型设计是非常有效的。LLBLGen与Access一起工作Access只是一个坏主意。我相信微软只在Office中提供了让老用户满意的访问权限 即使你找到了一个可以与Access数据库一起工作的ORM,除了少数例外,你也将自己锁定在一个可能无法与真正的数据库引擎一起开箱即用的利基工具中。如果您决定稍后切换到一个真正的数据库引擎,那么您不仅需要迁移数据库,还需要切换到另一个ORM 。比较文档还提到了其他数据存储的一些问题,包括访问
如果您真的关心能够安装SQLServer Express,请考虑SQLServer Cys:
- 它可以链接到您的可再发行应用程序。无需安装服务(安装应用程序期间可能需要管理员权限);安装应用程序时,一切都会得到妥善处理。如果您需要数据驻留在用户的机器上而不是服务器上,这是最有意义的,并且最类似于使用Access
- 可以很容易地扩展到Express或其他SQL Server版本
- 适用于平板电脑、移动设备等占地面积小的安装