Я пытаюсь использовать API-интерфейс Entity Framework CTP5 Fluent API для сопоставления существующей базы данных. У меня есть следующие классы:Сопоставление свойств (по-разному) полей внешнего ключа в Entity Framework CTP5
public class Shop
{
public long Id
{
get;
set;
}
}
public class Sale
{
public long Id
{
get;
set;
}
public virtual Shop Shop
{
get;
set;
}
}
Соответствующие таблицы называются «Магазины» и «Продажи». Продажи имеют внешний ключ StoreId, который указывает на поле «Идентификатор» в таблице «Магазины».
Я изо всех сил пытаюсь сопоставить Sale.Shop.Id с StoreId в таблице. Я не могу изменить его на ShopId, поэтому вам нужно его сопоставить.
В CTP4, я использовал:
modelBuilder.Entity<Sale>().MapSingleType(x =>
new
{
Id = x.Id,
StoreId = x.Shop.Id
});
Я попытался следующие:
modelBuilder.Entity<Sale>().Property(x => x.Shop.Id).HasColumnName("StoreId");
Тем не менее, кажется, это работает только с примитивного типа.
Как указать это сопоставление?
Атрибут `RelatedTo` объявлен в CTP4 и * удален * в CTP5. Так что это уже не вариант. Благодарю. – 2010-12-09 16:27:45