我想写一个仓储程序。
谁能指导我使用框架的数据库层。
我以前使用过实体框架,但我并不喜欢它,因为它抛出了很多未知的错误。
有没有人建议使用nhibernate或其他框架,或者您认为如果我使用直接查询或存储过程,它会更可靠、更好?
发布于 2011-08-15 17:26:36
我不认为ORM是解决这类问题的最佳选择。
ORM中的“O”代表“object”。您不希望仅仅为了将数据移动到仓库而必须创建对象模型。
ORM更多的是为了方便开发人员:允许面向对象的程序员忘记中间层基于实例的对象和数据库端基于集合的关系之间的区别。SQL是由ORM工具生成的。这可能不是您想要移动数据的方式。
我认为你真正需要深入研究的三个字母是ETL: Extract-Transfer-Load。这是用于将数据从事务性数据存储移动到数据仓库的更典型的方法。
发布于 2011-08-15 17:16:25
Entity Framework会抛出通常来自数据库的错误,比如约束等。但是,您也可以使用Entity Framework直接调用SQL和存储过程。
你也应该把你的标题改成ORM而不是OMR?
发布于 2011-08-15 17:22:24
我认为在ORM框架中有一种过度的信念。它们存在诸如性能缓慢之类的问题。建议使用Linq-to-sql,并将更高级的查询作为存储过程进行。这是非常直接和稳定的。或者使用SubSonic。事实上,如果您愿意,执行大量存储过程也没什么错。没有灵丹妙药--每种解决方案都有它的优点和缺点。
https://stackoverflow.com/questions/7063309
复制相似问题