需要有关大型 .net 数据访问层的建议

发布于 2024-07-25 05:08:18 字数 229 浏览 5 评论 0原文

启动一个新项目,它是针对一个非常大(300 个表)的遗留数据库的 100% 新开发。 数据库与业务模型不太匹配,所以我最初的想法是在哪里使用 ORM。

我很好地获得了与 NHibernate 合作的概念证明……但在使用“不受支持的”“开源”工具方面遭到了很多管理层的反对。

对其他可使用的 ORM 解决方案有什么建议吗? 或关于 NHibernate 争论的建议?

非常感谢。

Starting up a new project it is 100% new development against a very large (300 tables) legacy database. The database does not match up all that well to the business model so my initial thoughts where to use a ORM.

I got a proof of concept working with NHibernate pretty well... but got A LOT of management push back on the use of "unsupported" "open-source" tool.

Any advice on other ORM solution to use? or advice on the NHibernate argument?

Thanks much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

橘虞初梦 2024-08-01 05:08:18

如果您的管理层愿意为商业 ORM 付费,那么您最好考虑这条路线。

目前,NHibernate 可能存在的一个限制(除非您愿意使用 NHibernateContrib 项目中的 Alpha 代码),即您当前无法使用 LINQ / IQueryable 机制来使用日益熟悉的 LINQ 语法进行查询。 您仍然拥有非常灵活的 Criteria 和 HQl 机制,这仅取决于您是否想开始投资以“LINQ 方式”完成所有事情?

从我到目前为止的研究来看,您有相当多的选择(都支持 LINQ 查询):

实体框架(也有商业合作伙伴在其之上添加工具和功能。)

原始 mindscape.co.nz/products/LightSpeed/default.aspx" rel="nofollow noreferrer">Lightspeed 看起来像是一种具有良好设计时支持的 LINQ-to-[很多 DB]。

Telerik OpenAccess 看起来与 Lightspeed 类似。

IdeaBlade DevForce 构建于 EntityFrmework 之上,但添加了一些可用性功能。 如果您不使用 SQL Server,那么使用 IdeaBlade 还需要从单独的供应商(例如 DevArt 或 DataDirect)购买 ORACLE-EF 提供程序。

LLBLGen Pro 良好的功能范围和积极的开发。 已经存在很长时间了。

DevArt 还为 LINQ 提供了良好的数据访问工具和供应商特定的提供程序。

[更新] NHibernate 现已提供生产就绪的 LINQ 支持

If your management is willing to pay for a commercial ORM then you'd be wise to consider that route.

One limitation you may have (at present) with NHibernate (unless you're willing to use Alpha code from NHibernateContrib project) is that you currently don't have the luxury of using a LINQ / IQueryable mechanism to query using the increasingly familiar LINQ syntax. You'll still have the very flexible Criteria and HQl mechanisms, it just depends if you want to start investing in doing everything 'the LINQ way' or not?

From my research so far you have quite a few options (all supporting LINQ querying):

Raw Entity Framework (there are commercial partners that are adding tooling and features on top of it too.)

Lightspeed seems like a kind of LINQ-to-[lots of DBs] with good design time support.

Telerik OpenAccess looks similar to Lightspeed.

IdeaBlade DevForce is built on top of EntityFrmework buts adds some usability features. If you're not using SQL Server then use of IdeaBlade would ALSO require purchasing an ORACLE-EF provider from a separate vendor such as DevArt or DataDirect.

LLBLGen Pro Good range of features and active development. Been around a long time.

DevArt also do good data-access tooling and vendor-specific providers for LINQ.

[UPDATE] Production-ready LINQ support is now available in NHibernate!

岁月染过的梦 2024-08-01 05:08:18

你为什么不问问管理层呢?

在 Hibernate/NHibernate 出现期间,Microsoft 创建并取消了多少数据访问解决方案?

  • ADO
  • ADO.NET
  • 强类型数据集
  • LINQ2SQL
  • 实体框架
  • 实体框架 V2

在此期间,Hibernate/NHibernate 已经变得越来越成熟。 它不会消失。

Why don't you ask management this?

How many data access solutions have Microsoft created and killed off in the time that Hibernate/NHibernate have been around?

  • ADO
  • ADO.NET
  • Strongly typed DataSets
  • LINQ2SQL
  • Entity Framework
  • Entity Framework V2

During this time Hibernate/NHibernate have been getting more and more mature. It is not going away.

悲念泪 2024-08-01 05:08:18

我在最近的两个项目中使用了实体框架,它们具有相似数量的表。 它对我们来说效果很好。 我们将表分成几个实体框架模型,最大 ca。 一种型号有 80 张桌子。

实体框架更容易出售给管理层,因为它是微软的。

I have used Entity Framework on my last two projects, these have had similar number of tables. It has worked well for us. We split the tables into several Entity Framework models, max ca. 80 tables in one model.

Entity Framework is easier to sell to management since it is Microsoft.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文