我们制作了一个 .net Core 应用程序。为此,我们必须使用现有的数据库。该数据库也被其他程序使用,因此我们无法对其进行更改。所以首先是数据库。问题是,我们的表中有一些前缀。表总是以 tbl 开头,字段以单独的前缀开头:
表名:tblPerson
字段:PeName
, PeStreet
, ...
所以如果我使用 PowerTools,这些类总是有这个前缀。因为我们的数据库很大,所以每次当我们需要一个新表形成数据库时,我们都会使用 powertools。因此,我们不能直接在 DbContext
中更改它们。 .
我可以以某种方式删除前缀吗?或者在我的解决方案中全局更改它们?
最佳答案
您可以使用与数据库表名和列名不同的模型类名和属性名。
使用 Table
和 Column
属性告诉 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; }
// ...
}
您也可以使用 Fluent API 在
OnModelCreating
中定义这些属性。在您的 DbContext
.Data annotations documentation
关于c# - 使用 .net Core 删除表前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61054527/