EF4 CTP5 - переименование нескольких столбцов - PullRequest
1 голос
/ 14 апреля 2011

Как переопределить соглашение по умолчанию для столбца внешнего ключа в EF4, чтобы указать другое имя столбца?

Например, у меня есть один объект со свойством Parent, который ссылается на другой из того жеtype.

EF4 пытается разрешить отношение путем поиска внешнего ключа с именем EntityId, но в моей схеме БД это Entity_Id.Как мне сказать EF, что имя столбца FK не EntityId?

Я пробовал следующее:

modelBuilder.Entity<SomeEntity>()
  .HasOptional(m => m.Parent)
  .WithMany()
  .IsIndependent()
  .Map(m => m.MapKey(k => k.Id, "Entity_Id")));

Но я получаю исключение, говорящее: Sequence contains more than one matching element.

Есть какая-нибудь помощь в этом?

Спасибо!

1 Ответ

2 голосов
/ 14 апреля 2011

Первый: обновление до EF 4.1 RTW .CTP 5 устарел и содержит потенциально много ошибок, которые сейчас исправлены.

Если вы сделали обновление, должно работать следующее:

modelBuilder.Entity<SomeEntity>()
    .HasOptional(m => m.Parent)
    .WithMany()
    .Map(c => c.MapKey("Entity_Id"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...