С версией 4 Entity Framework у вас есть возможность делать то, что они называют Code First. Дело в том, что именование ваших классов и полей/свойств должно соответствовать базе данных из того, что я знаю. Я использую MySQL, и поэтому я использую все строчные буквы и символы подчеркивания при именовании, поскольку капитализация не поддерживается во всех ОС и может заставить MySQL действовать странно, если вы попытаетесь его заставить. Проблема в том, что я использую стандартные соглашения об именах С# с использованием camelCase и PascalCase. Есть ли способ сопоставить имена в моей базе данных с моими классами на С#, не используя конструктор модели сущностей (файл .edmx), поскольку дизайн кажется немного ошибкой. Спасибо.
Вы можете использовать переопределяемый метод OnModelCreating
, который будет запускаться при первом экземпляре класса. Там вы можете переопределить отдельные таблицы таким образом
public class Context : DbContext {
//your models
protected override void OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder.Entity<SomeTable>()
.MapSingleType()
.ToTable("YourTableNameInDatabase");
}
}
Это так просто:)