繁体   English   中英

手动将MySQL数据库表/字段映射到C#实体类

[英]Mapping MySQL database tables/fields to C# entity classes manually

在Entity Framework版本4中,您可以选择执行他们所谓的代码优先。 事实是,您的类和字段/属性的命名需要与我所知道的数据库相匹配。 我正在使用MySQL,因此在命名中使用了所有小写和下划线,因为并非所有操作系统都支持大写,并且如果尝试强制使用大写,可能会使MySQL表现出怪异。 问题是我使用了camelCase和PascalCase的标准C#命名约定。 有没有一种方法可以将数据库中的命名映射到C#中的类,而无需使用实体模型设计器(.edmx文件),因为设计似乎有些错误。 谢谢。

您可以使用可重写的方法OnModelCreating ,该方法将在类的第一个实例上运行。 在那里您可以像这样覆盖单个表

public class Context : DbContext {

    //your models

    protected override void OnModelCreating(ModelBuilder modelBuilder) {
        modelBuilder.Entity<SomeTable>()
                         .MapSingleType()
                         .ToTable("YourTableNameInDatabase");
    }
}

就这么简单:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM