2013-02-22 82 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>。這代表了多對多的層次結構。一個項目可以被許多用戶所青睞,用戶可以喜歡許多項目。因此這兩個集合。