【发布时间】:2023-03-15 11:41:02
【问题描述】:
我是实体框架的新手,我已阅读实体框架文档,其中谈到了 Conceptual Model 和 Logical Model。
我在想我的模型中的实体是否应该与数据库表匹配?我想答案是否定的。但我想知道如何实现以下场景:
我想要一个用于更新表的实体,并有另一个用于从该表中读取的实体。例如。我想要一个名为 EditStudent 的实体和另一个名为 ViewStudent 的实体,其中不同的字段来自我的数据库中的表 Student。
然后当我更新 EditStudent 字段时,我可以提交对 Student 表上这些字段的更改。
这怎么可能?此外,我的场景是 Entity Framework 中的一种常见做法,还是每个数据库表都有一个实体很常见?
【问题讨论】:
-
可能,但我认为你看错了。您需要制作 Student 模型,然后您可以在代码的业务逻辑端的 EditStudent 和 ViewStudent 版本中使用它。
-
可以使用ViewModel,先创建实体类再创建CRUD ViewModel并使用。
-
我在想我的模型中的实体是否应该与数据库表匹配?我想答案是否定的。 恰恰相反。除了小例外(表拆分、TPH/TPT/TPC 层次结构、与隐式联结表的多对多关系),EF 实体模型基本上是一个存储模型,即匹配数据库表。
标签: c# entity-framework ado.net-entity-data-model