1

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

表:

  • 用户身份, ...)
  • 项目(ID、名称、..)
  • 时间戳(ID、开始、结束、用户 ID、项目 ID ..)

但我没有表“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 搜索“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 已经定义...”

4

1 回答 1

1

看起来该表是和Poject_Favorit之间的多对多连接。在这种情况下,您不需要相应的实体类。你的班级可能会有一个,你的班级可能会有一个. 这代表了一个多对多的层次结构。一个项目可以被很多用户收藏,一个用户可以收藏很多项目。因此,这两个集合。UserProjectUserICollection<Project>ProjectICollection<User>

于 2013-02-22T14:20:17.417 回答