Entity Framework Core 计数表和记录 Code-First Approach (MySQL)

Posted

技术标签:

【中文标题】Entity Framework Core 计数表和记录 Code-First Approach (MySQL)【英文标题】:Entity Framework Core counting tables and records Code-First Approach (MySQL) 【发布时间】:2021-12-24 14:37:33 【问题描述】:

我已经开始使用 Entity Framework Core 和 Code-First 方法,目前我还不太习惯。我的 Entity Framework Core 版本是 3.1.20。

问:如何查看某个特定数据库中有多少表可用?

问:如何获取特定数据库中的总记录数?

问:如何获取某个特定表的总记录数?

【问题讨论】:

这些查询似乎都不与实体框架的典型使用真正兼容;在 EF 的上下文中,答案将是“1) 没关系,因为您查询已建模的内容,如果建模的表不可用,您就有问题。” “2)问没有意义,因为 EF 只关心它知道的那些表”和“3)问真的没有意义,但你可以问例如context.Users.Count() 【参考方案1】:

问:如何查看某个特定数据库中有多少表可用?

查看this answer

问:如何获取特定数据库中的总记录数?

This answer 可能会有所帮助

var tablesinfo = ctx.GetTablesInfo();
var totalRecordCount = tablesinfo
    .IgnoreQueryFilters()
    .Sum(ti => ti.RecordCount);

问:如何获取特定表中的总记录数?

var recordCount = ctx.SomeTable.Count();

【讨论】:

以上是关于Entity Framework Core 计数表和记录 Code-First Approach (MySQL)的主要内容,如果未能解决你的问题,请参考以下文章

一列用于 Entity Framework Core 中两个不同表的外键

Entity Framework Core:外键和引用表 Id 列不匹配

使用Entity Framework Core需要注意的一个全表查询问题

将内联表值函数与 Linq 和 Entity Framework Core 一起使用

在 Entity Framework Core 中查询系统版本时态表中的数据

Entity Framework Core 数据库第一种方法复数表名