将工作项目从EF 4.0升级到4.1后,我现在在运行时收到以下错误:
对于“Everybody”类型,多次调用Map,并且至少有一个调用没有指定目标表名。
代码是:
public EverybodyConfiguration()
{
Map(e => e.Properties(p => new
{
p.EverybodyId,
p.FirstName,
p.LastName,
p.Initials,
p.CapsId,
p.DateModified
})).ToTable("Everybody");
Map(e => e.Properties(p => new
{
p.EverybodyId,
p.Status
})).ToTable("EverybodyStatus");
Map(e => e.Properties(p => new
{
p.EverybodyId,
p.Email,
p.BouncedFlag,
p.DoNotContactFlag
})).ToTable("EverybodyEmail");
}
错误消息令人困惑,因为它表示尚未在某处指定表名,但您可以在代码中看到它已有。
这些表都具有相同的主键列名称。
有什么建议吗?
答案 0 :(得分:1)
您调用的ToTable
是整个实体的映射(链接在Map
后面,EntityTypeConfiguration
的方法)。您必须使用ToTable
的{{1}}方法,该方法是EntityMappingConfiguration
传递给Action
的参数:
Map