使用ORM开发MVC时 我不喜欢ORM会在我的数据库中进行更改的想法。 我的应用程序是一个数据驱动的应用程序,数据库是我创建的第一件事。 这不是在模型和数据库中维护数据方案的开销吗? 我该如何管理它? 任何更适合这种工作方法的ORM?
答案 0 :(得分:1)
我不喜欢ORM会在我的数据库中进行更改的想法
ORM不必对数据库结构进行任何更改。如果您有现有数据库,则只需使用它而无需任何自动更改。
这不是在模型和数据库中维护数据方案的开销吗?
您想如何在MVC中展示您的数据?您是否要使用表示数据库中数据的类?如果是,则说明ORM存在的原因。 ORM将关系数据从数据库映射到类=它为您加载它们并为您保留它们(=您不必处理数据库访问和SQL)。如果您打算使用面向对象的强类型方法,那么ORM将不会为您带来开销。
如果您不打算使用此类方法,则不必使用MVC。只需将ASP.NET与SQL数据源或ASP.NET动态数据一起使用即可。
任何更适合这种工作方式的ORM?
你没有特别的方法。
几乎每个ORM都有一些支持工具或扩展,允许您创建基本映射,有时还可以创建现有数据库中的类。在EF中,您只需将实体数据模型添加到项目中,然后在向导中选择应用程序中所需的表。
当然最后一段是简化的。每个ORM都有学习曲线和专长,所以它不会那么“简单”。
答案 1 :(得分:0)
对于.NET 4实体框架,工具让你双向前进;从模型生成数据库并从数据库生成模型。这些功能使您在实施变更管理协议时具有灵活性。我不确定NHibernate有哪些选项。
实体框架参考:
http://msdn.microsoft.com/en-us/library/bb386876.aspx
http://msdn.microsoft.com/en-us/library/bb399249.aspx
两者的Stackoverflow比较: