添加一个缺少的表

时间:2013-02-22 14:14:55

标签: asp.net entity-framework

我错过了数据模型中的表格 我有一个现有的数据库,并尝试过: EF Power Tools like THIS description

表格:

  • 用户(Id,...)
  • 项目(ID,名称,..)
  • 时间戳(ID,开始,结束,UserID,ProjectID ..)

但我没有表" Poject_Favorit" (UserId,ProjectID)

所以我自己写表:

public class Project_Favorite
{
    [Key]public Guid GuidUser { get; set; }
    public Guid GuidProject { get; set; }
}

我补充道:

public DbSet<Project_Favorite> Project_Favorite { get; set; }

到我的DbContext

EF搜索&#34; dbo.Project_Favorite&#34;但它应该搜索&#34; Timeworx.Project_Favorite&#34;

所以我补充说:

modelBuilder.Configurations.Add(new Project_FavoriteMap());

到我的DbContext

并创建了文件&#34; Project_FavoriteMap.cs:

class Project_FavoriteMap : EntityTypeConfiguration<Project_Favorite>
{
    public Project_FavoriteMap() { 
        //Primary Key
        this.HasKey(t => t.GuidProject);
        this.HasKey(t => t.GuidUser);

        this.ToTable("Project_Favorite", "Timeworx");
    }        
}

现在出现错误。它说&#34; ... Project_Favorite已经定义了......&#34;

1 个答案:

答案 0 :(得分:1)

Poject_Favorit表似乎是UserProject之间的多对多联接。在这种情况下,您不需要相应的实体类。您的User课程可能会有ICollection<Project>,而您的Project课程可能会有ICollection<User>。这代表了多对多的层次结构。一个项目可以被许多用户收藏,用户可以喜欢很多项目。因此这两个集合。