使用 .net Core 删除表前缀

Pre*_*esi 3 c# asp.net-core

我们制作了一个 .net Core 应用程序。为此,我们必须使用现有的数据库。该数据库也被其他程序使用,因此我们无法对其进行更改。所以首先是数据库。问题是,我们的表中有一些前缀。表总是以 tbl 开头,字段以单独的前缀开头:

表名: tblPerson

字段:PeName, PeStreet, ...

所以如果我使用 PowerTools,这些类总是有这个前缀。因为我们的数据库很大,所以每次当我们需要一个新表形成数据库时,我们都会使用 powertools。因此,我们不能直接在DbContext.

我可以以某种方式删除前缀吗?或者在我的解决方案中全局更改它们?

Ros*_*sco 5

您可以使用与数据库表名和列名不同的模型类名和属性名。

使用TableColumn属性告诉 EF 核心数据库中的名称。

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

[Table("tblPerson")]
public class Person
{
    [Column("PeName")]
    public string Name { get; set; }

    [Column("PeStreet")]
    public string Street { get; set; }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

您还可以使用 Fluent APIOnModelCreating在您的DbContext.

数据注释文档