完全无能为力地在EF框架中使用外键更新模型(迁移)

时间:2015-09-28 20:46:38

标签: c# asp.net-mvc entity-framework

我使用的是EF 6.1.3最新版本

表关系是一对多

(两个表都有数据但是在调用 update-database 后外键没有反映出来)

此处模型 rss_master 可以有多个 rss_master_publish

[Table("dbo.rss_master")]
public class RssMasterModel
{
    [Key]
    public int userid { get; set; }
    public string prenom {get; set;}
    public string nom { get; set; }
    public string titre { get; set; }
    public string phone { get; set; }
    public string phone_direct { get; set; }
    public string phone_client { get; set; }
    public string phone_other { get; set; }
    public string email { get; set; }
    public string fax { get; set; }
    public string username { get; set; }
    public virtual ICollection<RssMasterPublish> rssMasterPublish { get; set; }

}

[Table("dbo.rss_master_publish")]
public class RssMasterPublish
{
    [Key]
    public int id_publish { get; set; }
    public int userid { get; set; }
    public string title { get; set; }
    public string description { get; set; }
    public string imgPath { get; set; }
    public DateTime datePublish { get; set; }
    [ForeignKey("userid")]
    public virtual RssMasterModel rssMasterModel { get; set; }
}

RssMasterPublish 是一个手动添加的新表我想启动控制台并调用 update-database 并对数据库进行更改反映但没有任何反应。如果可能的话,我不想删除该表上的数据。

在DbContext上没有配置任何配置只需设置

this.Configuration.LazyLoadingEnabled = false;

Configuration.cs 文件中,构造函数只添加

AutomaticMigrationsEnabled = true;
AutomaticMigrationDataLossAllowed = true;

我很同情所有的迁移认为通常我只是添加新列并更新数据库,但现在我与需要更改的表有关系,所以如果有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

update-database会将最新的迁移应用于数据库。但似乎您尚未在RSSMasterPublish中为外键创建迁移。

您需要查看add-migration