Entity framework 如何使用EntityFramework 5将我的PICO类与数据库中的特定表相关联

Entity framework 如何使用EntityFramework 5将我的PICO类与数据库中的特定表相关联,entity-framework,Entity Framework,在我的数据库中有一个表a多对多表,两个类a和B都是这样创建的 this.HasMany(t => t.TrafficImageQuestions) .WithMany(t => t.TrafficImages) .Map(m => { m.ToTable("TrafficImage_Answers"); m.MapLeftKey("TrafficImag

在我的数据库中有一个表a多对多表,两个类a和B都是这样创建的

    this.HasMany(t => t.TrafficImageQuestions)
       .WithMany(t => t.TrafficImages)
        .Map(m =>
            {
                m.ToTable("TrafficImage_Answers");
                m.MapLeftKey("TrafficImagesGuid");
                m.MapRightKey("TrafficImageQuestionsId");


            });
现在我想将我的自定义类关联到同一个表TrafficImage_Answers,因为类有左键和右键,然后还有一个3。自定义属性

我确实将该列添加到了数据库答案中

    public class TrafficImageAnswer
    {
        public System.Guid TrafficImageGuid { get; set; }
        public int TrafficImageQuestionId { get; set; }
        public byte Answer { get; set; }
    }
我这样做是因为我希望实体模型能够跟踪A和B的多对多关系,并且仍然能够查找3。数据库中的属性答案

我试过的

我试着做到以下几点:

    this.Property(t => t.TrafficImageQuestionId)
        .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
    this.Property(t => t.TrafficImageGuid)
        .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

    // Table & Column Mappings
    this.ToTable("TrafficImage_Answers");
但是我知道这个表已经存在了,逻辑上。我需要告诉它应该使用这个表,而不是试图创建它。
我用EF 5和Package manager中的DB mitigrations来实现这一点。

这是不受支持的。如果希望在多对多关系的连接表中有其他字段,则不能再将其映射为多对多。每个表只能映射一次,但同时将表映射到实体和多对多关系会使其映射两次


您必须更改TrafficImageQuestions和TrafficImages,使其与TrafficImageAnswer使用一对多关系,而不是彼此之间的多对多关系。

我不喜欢这种实现,无法决定是否添加列,但EF不知道它,并且有一些存储过程在我需要列中的内容时查询它映射表。谢谢你的回答。