我是实体框架的新手,我已经阅读了实体框架文档,并讨论了Conceptual Model
和Logical Model
。
我在想我的模型中的实体是否应该与数据库表匹配?我猜答案是否定的。但我想知道如何实施以下方案:
我希望有一个实体来更新表,并有另一个用于从该表读取的实体。例如。我希望有一个名为EditStudent
的实体和一个名为ViewStudent
的实体,其中包含来自我的数据库中表Student
的不同字段。
然后当我更新EditStudent
字段时,我可以在学生表上提交对这些字段的更改。
怎么可能?此外,我的场景是实体框架中的惯常做法,还是每个数据库表都有一个实体?
答案 0 :(得分:1)
通常在处理数据库时,有几个抽象层次。
使用实体框架时,您经常使用Repository Pattern。如果你谷歌它你会找到很多解释。
你会发现两层(不确定层的名称是否随处可用)
如果您遵循此划分,您的DbContext应代表您的数据库。您计划使用此数据库的方式不在您的DbContext中。
可编辑学生和 vieuwable student 的概念通常来自您的存储库层。它们都将访问DbContext中的Student表,但是一种类型可能只返回带有公共get函数的接口,而另一种类型将具有更改Student数据的功能。两者都将在同一个DbContext中使用相同的表。