列已存在时添加导航属性

时间:2014-04-25 18:41:18

标签: entity-framework ef-code-first entity-framework-5 ef-migrations

如果在先前的迁移中已在数据库中创建了相应的列,我如何向我的上下文添加导航属性?

例如:一位女士有很多猫。我想在LadyId类中添加Cats属性,但LadyId表中已存在Cats列。此LadyId列是在先前的迁移中创建的,以容纳Cats.Lady导航属性。

DB:

Lady Table
--------------
Id    Name

Cats Table
--------------
Id    LadyId    FurColor

类:

public class Lady {
    public Id {get; set;}
    public Name {get; set;}
    public List<Cat> Cats {get; set;}
}

public class Cat {
    public Id {get; set;}
    public Lady Lady {get; set;}
    //I want to add a LadyId property here
}

到目前为止,我已经尝试过......

  • 添加属性:错误:&#34;支持&#39;上下文的模型&#39;情境发生了变化......&#34;
  • 添加迁移以更新数据库:这会创建迁移,但只会将列重命名为LadyId1,这是毫无意义的。数据库应该保持不变,我只想添加一个导航属性。
  • 在迁移UpDown方法中注释掉代码以尝试&#34;技巧&#34;迁移表具有正确的哈希值以匹配我的上下文。这会引发错误&#34;无效的列名称&#39; EmployeePerformanceReview_id1&#34;

0 个答案:

没有答案