【发布时间】:2019-07-25 03:46:57
【问题描述】:
我真的很想从其他开发者那里得到一些额外的意见。 目前,我正在做一个只使用一些数据库表的小项目。我在想的是,将模型拆分为数据库和视图模型是否有意义。目前,只有数据库模型在使用,它也用于所有页面/视图。
最初我认为将它们完全分开可能是个好主意,以防出现一些数据库更改。 但老实说,我没有看到拆分它的好处。如果应该重命名列,则可以使用某些属性而不影响 UI。
拆分它的唯一原因是在不需要时不加载所有列。现在,当视图从数据库中获取一些信息时,所有列都会被加载。但是,即使不需要,这也是非常少的流量。 我记得在以前有关 ASP.Net Core 的一些文档中也提到了 MS 将其拆分。但似乎他们改变了。此外,关于 EF 的文档也没有提到任何模型分离。
【问题讨论】:
-
有些人从一开始就这样做,然后有些人后来希望他们从一开始就这样做。
-
这是否意味着您总是会拆分它?在开始而不是以后更好?但究竟为什么呢?
-
一个小项目是一个更好的地方来设置更多的面向对象的方式并同时学习。是的,这在当时似乎是一种开销,但您不仅仅是在构建一个 CRUD 应用程序。视图中总会有业务需求更改,这将导致您在实体上添加属性(但不在数据库中),这将不断增加单个实体的大小。在您不希望通过整个实体的项目中将需要验证或列表。 MS 示例侧重于简化 EF 访问,而不是侧重于设计本身。
标签: asp.net entity-framework-core razor-pages