2013-02-22 149 views
1

我在数据模型中错过一个表 我有一个现有的数据库,并尝试: EF Power Tools like THIS description添加缺少的表

表:

  • 用户(ID,...)
  • 项目(ID,姓名,..)
  • 时间戳(ID,开始,结束,用户名,专案编号。)

但是我没有表 “Poject_Favorit”(用户ID,专案编号)

所以我写了表自己:

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搜索“dbo.Project_Favorite”,但它应该搜索“Timeworx.Project_Favorite”

,所以我说:

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

我的DbContext

和创建文件“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"); 
    }   
} 

现在有一个错误。它说:“...... Project_Favorite已经定义...”

回答

1

它看起来像Poject_Favorit表是许多一对多UserProject之间的连接。在这种情况下,你不需要相应的实体类。您的User班可能会有ICollection<Project>,您的Project班可能会有ICollection<User>。这代表了多对多的层次结构。一个项目可以被许多用户所青睐,用户可以喜欢许多项目。因此这两个集合。