T4 模板获取 table 数据库名称

T4 Template get table name of database

有时我想避免使用 EF,因为它的执行时间更长。因此,出于性能目的,我想创建原始 sql 查询。

如果我这样做 <#=entity.Name#> 它会给我模型的名称。例如它returns我Contact。 table 在数据库中的名称是 Contacts(注意末尾的 s)。如何获得实际的 table 名称而不是模型名称?

我不熟悉 EF T4 模板,因为我不使用它们。 EF 有自己的多元化服务。

System.Data.Entity.Infrastructure.Pluralization.EnglishPluralizationService

您可以创建此 class 的实例并调用 Pluralize 来获取复数词。可能不是最纯粹的 EF 方式,但它会起作用。如果您觉得这很脏,也许您可​​以询问 EntitySet 名称或其他名称。