我正在尝试使用实体框架 CTP5 Fluent API 来映射现有数据库。我有以下课程:
public class Shop
{
public long Id
{
get;
set;
}
}
public class Sale
{
public long Id
{
get;
set;
}
public virtual Shop Shop
{
get;
set;
}
}
相应的表称为“Stores”和“Sales”。Sales 有一个 StoreId 外键,它指向 Stores 表中的 Id 字段。
我正在努力将 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");
但是,这似乎只适用于原始类型。
如何指定此映射?