Łuk*_*.pl 5 c# orm asp.net-mvc-2
我们即将开始一个新项目.它将是一组具有大量共享组件的Web应用程序.它每天将有多达50,000个独立用户访问,它将成为某种管理面板.所有项目都将在asp.net mvc 2中构建,它们都将在一个SQL Server数据库上运行.
直到我找到了ormbattle.net网站,NHibernate的性能测试与其他映射器相比看起来非常差,我们一直非常关注NHibernate .在这个总结中,我发现之前我不知道图书馆. BLToolkit看起来很有前途,但有两个 - 优点和缺点.
BLToolkit的社区支持很少,很少有例子,我也没有真正听说过在一个大项目中使用它的人.它也很轻巧,这意味着它不支持很多关系,延迟加载和缓存...
另一方面,性能非常好,而且它也有非常好的Linq支持.
在这种情况下,我在选择以下方式之一:
在这种情况下,我不是在寻找判决.我要求的是一个小小的讨论,指出一些我没有考虑过的问题,或者只是与我分享一些关于不仅使用BLToolkit而且还使用其他或映射器的经验.
您能否使用您正在考虑的几个不同的 ORM 创建原型,并看看它们的性能是否足以满足您的需求?您可以编写一些一次性的“性能峰值”代码,并使用 Visual Studio 中的数据生成器使用示例数据填充表。
我认为基于认为替代方案性能不够好而选择 ORM 是一种过早的优化 - 除非您已经完成了测试来证实您的怀疑。
关于 ormbattle.net,这是Ayende 的看法- 他是 NHibernate 开发人员之一。这是很久以前的事了,我不知道ormbattle.net 从那时起是否发生了变化。
LINQ to SQL 不再被积极开发 - 因此如果您想使用 Microsoft 的 ORM,EF 将是最佳选择。
与 EF 相比,我个人更喜欢 NHibernate,但当前版本的 EF 确实比当前版本的 NHibernate 拥有更完整的 LINQ 实现。NHibernate 3(今年晚些时候发布)将提供完整的 LINQ 支持,以及另一个名为QueryOver的类型安全 API 。