检索实体框架中类的数据库计算属性

雷纳克雷

我对EF有很好的了解,并成功生成了我的数据库。现在,我正在努力为其中一个实体类添加动态属性。例如,我有一Post堂课,其他用户可以对帖子发表评论。当我列出现有帖子时,我想显示对相应帖子发表的评论数。

一种解决方案可能是拥有一个名为的属性CommentCount,并在做出新评论时通过int将该CommentCount属性的()值增加1来更新Post

另一个解决方案(我认为是更好的解决方案)是,从数据库检索帖子时,可以同时计算和检索与该帖子关联的注释数,并将其分配给CommentCount该帖子实例的属性。但是,我不知道如何使用EF实现这一目标。

强烈建议使用哪种方法?或者,还有其他方法可以做到这一点吗?如果是第二个,我如何使用EF来实现呢?

Vojtech多纳尔

1)您应该只考虑不将调用的属性CommentCount放入模型中。例如,在开发WPF Windows应用程序时,应考虑使用MVVM模式,该模式CommentCount将属于ViewModel类而不属于Model类。在那里实现INotifyPropertyChanged,您可以从前端Views中使用它类似地,有ASP.NET等的MVC模式。

还有其他设计模式,例如存储库模式使用此模式,您可以CommentCount在存储库类而不是模型类中创建。这将类似于您的第二个解决方案。

2)从您的问题中我假设您正在使用代码优先方法:

成功生成我的数据库

如果这样做并且希望CommentCount直接包含Model类中,则可以通过将部分类文件添加到项目中来做到这一点,如下所示:

namespace DBModel.Models
{
    public partial class Post
    {
        public int CommentsCount
        {
            get { return this.Comments.Count; }
        }
        ...

但是我看不到为什么要为此在模型中创建额外的属性。

另一方面,将此字段作为计算字段添加到SQL数据库中可能很有意义,然后它将成为EF模型的一部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何首先使用实体框架数据库检索模型中的导航数据

来自分类Dev

使用实体框架从数据库中检索数据时出现 WebAPI 问题

来自分类Dev

在实体框架中更新数据库

来自分类Dev

使用实体框架从数据库中检索用户定义的“列组合”

来自分类Dev

实体框架不生成数据库类

来自分类Dev

使用实体框架的导航属性更新数据库

来自分类Dev

实体框架核心,更新数据库不考虑属性

来自分类Dev

使用实体框架创建其他类(数据库中的代码优先)

来自分类Dev

如何在实体框架中的多个数据库之间共享类?

来自分类Dev

根据数据库数据计算的实体属性

来自分类Dev

使用实体框架时如何在模型中写入属性数据库优先

来自分类Dev

如何在更新数据库后将属性添加到实体框架模型类而不丢失它们

来自分类Java

从数据源Netbeans / Hibernate中“检索密钥”时,数据库中的实体类挂起

来自分类Dev

使用 LocalDate 从数据库实体中检索

来自分类Dev

在实体框架中设置数据库超时

来自分类Dev

实体框架7在内存数据库中的异常

来自分类Dev

实体框架中数据库条目的版本历史

来自分类Dev

强制实体框架遵循数据库中定义的约束

来自分类Dev

使用实体框架从数据库中删除相关对象

来自分类Dev

实体框架MVC和数据库中的“静态”对象

来自分类Dev

在实体框架中连接到未知数据库

来自分类Dev

如何在实体框架中创建数据库用户

来自分类Dev

MySql数据库中的实体框架代码优先迁移

来自分类Dev

实体框架数据库中不需要的列

来自分类Dev

使用实体框架核心更新数据库中的列

来自分类Dev

实体框架核心:自动将数据库脚手架集成到类库中

来自分类Dev

从数据库实体框架检索日期时间列时格式化日期

来自分类Dev

实体框架数据库更新

来自分类Dev

实体框架5数据库请求

Related 相关文章

  1. 1

    如何首先使用实体框架数据库检索模型中的导航数据

  2. 2

    使用实体框架从数据库中检索数据时出现 WebAPI 问题

  3. 3

    在实体框架中更新数据库

  4. 4

    使用实体框架从数据库中检索用户定义的“列组合”

  5. 5

    实体框架不生成数据库类

  6. 6

    使用实体框架的导航属性更新数据库

  7. 7

    实体框架核心,更新数据库不考虑属性

  8. 8

    使用实体框架创建其他类(数据库中的代码优先)

  9. 9

    如何在实体框架中的多个数据库之间共享类?

  10. 10

    根据数据库数据计算的实体属性

  11. 11

    使用实体框架时如何在模型中写入属性数据库优先

  12. 12

    如何在更新数据库后将属性添加到实体框架模型类而不丢失它们

  13. 13

    从数据源Netbeans / Hibernate中“检索密钥”时,数据库中的实体类挂起

  14. 14

    使用 LocalDate 从数据库实体中检索

  15. 15

    在实体框架中设置数据库超时

  16. 16

    实体框架7在内存数据库中的异常

  17. 17

    实体框架中数据库条目的版本历史

  18. 18

    强制实体框架遵循数据库中定义的约束

  19. 19

    使用实体框架从数据库中删除相关对象

  20. 20

    实体框架MVC和数据库中的“静态”对象

  21. 21

    在实体框架中连接到未知数据库

  22. 22

    如何在实体框架中创建数据库用户

  23. 23

    MySql数据库中的实体框架代码优先迁移

  24. 24

    实体框架数据库中不需要的列

  25. 25

    使用实体框架核心更新数据库中的列

  26. 26

    实体框架核心:自动将数据库脚手架集成到类库中

  27. 27

    从数据库实体框架检索日期时间列时格式化日期

  28. 28

    实体框架数据库更新

  29. 29

    实体框架5数据库请求

热门标签

归档