MVC4复制了UserProfile表

时间:2013-01-05 09:15:34

标签: asp.net-mvc entity-framework asp.net-mvc-4

在我的项目中,我使用MVC4和一些使用Entity作为orm的外部数据库。

我决定使用MVC提供的成员身份,所以我只是在默认ConnectionString中更改为指向我的外部数据库。

然后,当我第一次启动应用程序时,添加了几个表,到目前为止一切都很好。现在,问题是,当我将新创建的userProfile表映射到我的dataContext模型时,我发生了冲突,因为这个表已经存在于accountModel中。

帐户模型和我新生成的模型位于同一名称空间中,我不想更改,所以我该怎么办?

这里是由ADO实体模型使用视图添加表方法生成的类:

public partial class UserProfile
    {
        public UserProfile()
        {
            this.Predictions = new HashSet<Prediction>();
        }

        public int UserId { get; set; }
        public string UserName { get; set; }

        public virtual ICollection<Prediction> Predictions { get; set; }
    }

这里来自会员

[Table("UserProfile")]
    public partial class UserProfile
        {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int UserId { get; set; }
        public string UserName { get; set; }
        }

都存在于同一名称空间中,并且存在冲突。

1 个答案:

答案 0 :(得分:0)

您可以删除自动生成的类并创建一个分部类来代替扩展AccountModel UserProfile类。

创建一个具有相同名称和相同名称空间的分部类:

public partial class UserProfile
{
    public UserProfile()
    {
        this.Predictions = new HashSet<Prediction>();
    }        

    public virtual ICollection<Prediction> Predictions { get; set; }
}

通过这样做,您将Predictions属性纳入成员资格UserProfile类。