实体框架Fluent API One-Zero-one关系配置

时间:2013-08-14 14:50:30

标签: c# entity-framework entity-framework-5 entity-relationship fluent

我有以下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;任何一个表中的列,我希望看到。

0 个答案:

没有答案