Отображение таблиц / полей базы данных MySQL в классы сущностей C # вручную

0

С версией 4 Entity Framework у вас есть возможность делать то, что они называют Code First. Дело в том, что именование ваших классов и полей/свойств должно соответствовать базе данных из того, что я знаю. Я использую MySQL, и поэтому я использую все строчные буквы и символы подчеркивания при именовании, поскольку капитализация не поддерживается во всех ОС и может заставить MySQL действовать странно, если вы попытаетесь его заставить. Проблема в том, что я использую стандартные соглашения об именах С# с использованием camelCase и PascalCase. Есть ли способ сопоставить имена в моей базе данных с моими классами на С#, не используя конструктор модели сущностей (файл .edmx), поскольку дизайн кажется немного ошибкой. Спасибо.

Теги:
asp.net-mvc-3
entity-framework-4

1 ответ

1
Лучший ответ

Вы можете использовать переопределяемый метод OnModelCreating, который будет запускаться при первом экземпляре класса. Там вы можете переопределить отдельные таблицы таким образом

public class Context : DbContext {

    //your models

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

Это так просто:)

  • 0
    Классы моделей расширяются или что-то в этом роде, поэтому нет переопределенных методов, поскольку это просто POCO.
  • 0
    Вы правы, однако класс DbContext - это класс с переопределением.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню