实体框架表而不是实体框架映射

时间:2014-02-28 09:07:09

标签: entity-framework mapping

在数据库中出现两个表

OLD,而不是EF,修改被拒绝

对象(Id,Name)

UserObjects(Id,UserId,ObjectId)

public class UserObject
{
    [Key]
    public int Id { get; set; }

    public Guid UserId { get; set; }

    public int ObjectId { get; set; }

    [NotMapped]
    public string ObjectName { get; set; }
}

有办法用EF填充ObjectName吗?

或者使用SqlCommand并手动填充UserObject?

1 个答案:

答案 0 :(得分:0)

我找到并使用了EntityTypeConfiguration

public class Object
{
    public int Id { get; set; }

    public string Name { get; set; }
}

public class UserObject
{
    [Key]
    public int Id { get; set; }

    public Guid UserId { get; set; }

    public int ObjectId { get; set; }

    public virtual Object Object { get; set; }
}

public class ObjectConfiguration: EntityTypeConfiguration<Object>
{
    public ObjectConfiguration()
    {
        HasKey(at => new { at.Id});

        Property(t => t.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);

        ToTable("Objects");
        Property(t => t.Id).HasColumnName("Id");
        Property(t => t.Name).HasColumnName("Name");
    }
}