Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要大型.net数据访问层的建议吗_.net_Database_Nhibernate_Orm_Devforce - Fatal编程技术网

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

需要大型.net数据访问层的建议吗,.net,database,nhibernate,orm,devforce,.net,Database,Nhibernate,Orm,Devforce,启动一个新项目是针对一个非常大的(300个表)遗留数据库的100%新开发。数据库与业务模型并不完全匹配,因此我最初的想法是在哪里使用ORM 我和NHibernate合作的很好。。。但由于使用了“不受支持的”“开源”工具,管理层受到了很大的压力 对使用其他ORM解决方案有何建议?还是关于NHibernate论点的建议 非常感谢。我在上两个项目中使用了Entity Framework,这些项目的表数量相似。这对我们很有效。我们将这些表拆分为几个实体框架模型,一个模型中最多有80个表 < P >实体框

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

我和NHibernate合作的很好。。。但由于使用了“不受支持的”“开源”工具,管理层受到了很大的压力

对使用其他ORM解决方案有何建议?还是关于NHibernate论点的建议


非常感谢。

我在上两个项目中使用了Entity Framework,这些项目的表数量相似。这对我们很有效。我们将这些表拆分为几个实体框架模型,一个模型中最多有80个表


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

< P >如果你的管理者愿意支付商业ORM,那么你最好明智地考虑这条路线。< /P> NHibernate(目前)可能存在的一个限制(除非您愿意使用NHibernateContrib项目中的Alpha代码)是,您目前无法使用LINQ/IQueryable机制来使用日益熟悉的LINQ语法进行查询。您仍然拥有非常灵活的标准和HQl机制,这取决于您是否想开始投资于“以LINQ方式”完成所有事情

根据我目前的研究,您有很多选择(都支持LINQ查询):

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

似乎是一种具有良好设计时支持的LINQ to-[大量DBs]

看起来类似于Lightspeed

是建立在EntityFrmework之上的,但增加了一些可用性特性。如果您不使用SQL Server,那么使用iDeaBrade还需要从单独的供应商(如DevArt或DataDirect)购买ORACLE-EF提供程序

功能齐全,开发积极。我已经有很长时间了

还要为LINQ提供良好的数据访问工具和特定于供应商的供应商


[UPDATE]现已在NHibernate中提供

你为什么不问问管理层呢

在Hibernate/NHibernate出现的这段时间里,微软创造并消灭了多少数据访问解决方案

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

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

如果您使用NHibernate或其他东西,我肯定会向管理层解释,使用“不受支持的”开源工具的风险并不比使用商业产品大。您的经理的工作是了解开放源代码是如何工作的,并正确估计开发中的风险。不称职的管理者并不是转向劣质产品的借口(当然,除非你是迪尔伯特)。如果你使用NHibernate,责怪NHProf是一个非常有用的工具。只是一个更新的。。。我们走了NHibernate路线!!!我们使用两个领先的orm和NHibernate进行了概念验证。简单地向风险和回报管理层陈述了事实,他们批准了该决定。re:“X更容易向管理层出售,因为它是微软。”。。。我希望这是真的,因为真正的原因,而不仅仅是因为微软是大公司,有很多钱。有时候他们的东西并不那么犀利。加上NHProf是一个巨大的卖点,举个有自己支持工具的微软ORM的名字吧?投票给NHibernate。尽管如此,我仍在拼命等待LINQ的支持^^