У меня есть такой класс:
public class Target
{
[Key]
[Column("TargetId")]
public Guid Id { get; set; }
[ForeignKey("TargetInventory")]
public Guid? TargetInventoryId { get; set; }
public virtual TargetInventory TargetInventory { get; set; }
}
На DbContext только это:
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove();
}
В базе данных у меня есть FK с именем 'FK_Target_TargetInventory' и полем 'TargetInventoryId'.
С EF 4 он работал, но на 4.1 он генерирует недопустимое имя поля 'TargetInventory_Id' вместо 'TargetInventoryId'.Исключение:
Не удалось выполнить операцию загрузки для запроса 'GetAll'.Произошла ошибка при выполнении определения команды.Смотрите внутреннее исключение для деталей.Внутреннее исключительное сообщение: недопустимое имя столбца 'TargetInventory_Id'.
Что может быть не так?
Редактировать 1
Кодовый тег плохо рендерится (я думаю, вы понимаете, что он означает): modelBuilder.Conventions.Remove << 'IncludeMetadataConvention' >> ();Я раньше не говорил свободно, и это сработало, я не хочу иметь логику вне основного класса.Сейчас я попробую различные тесты, поскольку я обнаружил, что похожий код работает в другом классе.