我有以下2个班级。项目可以存在而无需“ExportSiteLog”'被分配给它,但是一个< ExportSiteLog'必须与单个'项目':
的实例相关public class Item
{
public int Id { get; set; }
public virtual ExportSiteLog Log { get; set; }
}
public class ExportSiteLog
{
public int Id { get; set; }
public virtual Item Item { get; set; }
}
我正在使用Fluent API进行实体模型配置,但尚未找到这两个对象的正确配置。我为每个EntityTypeConfiguration使用一个单独的类,例如:
public class ItemConfig : EntityTypeConfiguration<Item>
{
public ItemConfig()
{
HasOptional(item => item.Log)
.WithRequired(export => export.Item);
ToTable("Items");
}
}
...并在ExportSiteLog配置上尝试了类似的内容:
HasRequired(export => export.Item)
.WithOptional(item => item.Log);
我在运行(代码优先)更新数据库时最初收到EF错误,说:
&#34;无法确定之间关联的主要结束 类型&#39; xxx.ExportSiteLog&#39;和&#39; xxx.Item&#39;。这个的主要目的 必须使用以下任一方式显式配置关联 关系流畅的API或数据注释。&#34;
实现上面的EntityTypeConfigurations,当我运行update-database&#39;时,这个错误似乎消失了,但是我在DB中的2个表似乎没有添加FK&#39; Id&#39;任何一个表中的列,我希望看到。