(这必须是常见问题解答,所以我希望它会被重复关闭,但我找不到一个包含对问题的良好概述的问题等)
在为.net系统选择 ORM 时,应该考虑什么?
以上如何通过ORM 解决 .net系统常用的问题.
(当我说"考虑使用ORM"作为.net问题时,我应该在答案中链接到巫婆堆栈溢出问题)
是否希望提供新答案并获得赏金?
这是我在选择.NET ORM方面指出的主要问题/答案:
我在答案中提出了一堆"重复"类型的问题.因此,您可以从各种不同的角度进行大量的阅读.
我也会尝试回答您的具体问题:
在为.net系统选择ORM时,应该考虑什么?
您希望确保它适用于您的数据库.如果您的数据库设计在15年前是最先进的,那么许多较小和/或不太成熟的ORM将无法用于缺少密钥,奇怪的关系等.
您希望确保它适用于您的数据库供应商.SQL Server支持几乎总是可用,但各种ORM可能支持或不支持其他数据库(MYSQL似乎是第二个最常支持的数据库).
如果要根据.NET类生成数据库,则需要确保ORM支持该类.
如果你想要表现,我猜你会远离表现糟糕的表演,但那些永远不会成为前五名单,所以只要你选择具有一些主流街头信誉的ORM,你就可以了.
您需要确保它具有您需要支持的功能:http://ayende.com/Blog/archive/2006/05/12/25ReasonsNotToWriteYourOwnObjectRelationalMapper.aspx
考虑供应商锁定以及您是否可以轻松地逃脱它(对于数据库供应商和ORM供应商).
考虑一下你想花多少钱.
考虑一下代码生成的内容.
考虑您对单元测试支持的要求.
考虑您想花多少时间研究各种选项.
考虑ORM周围存在的社区.
有很多事情要记住.我相信我能想到更多.最后,很多情况都是情境性的,您需要自己决定什么对您和您的项目最有利.
以上如何通过ORM解决.net系统常用的问题.
我所知道的唯一一个.NET ORM几乎满足了.NET项目所需要的所有需求(减去更多不起眼的数据库供应商)是NHibernate.它已在许多不同的场景中与许多"遗留"数据库进行了测试.
| 归档时间: |
|
| 查看次数: |
5223 次 |
| 最近记录: |