entity-framework – 如何通过流畅的API查找哪个Table映射?

我需要找到哪个表映射到EntityTypeConfiguration类.

例如:

  public class PersonMap : EntityTypeConfiguration<Person>
    {
        public PersonMap()
        {
    ...
            this.ToTable("Persons");
    ....

        }
    }

我需要像反向映射这样的东西:

var map=new PersonMap(); 
string table =map.GetMappedTableName();

我怎样才能做到这一点?

最佳答案 将字段添加到PersonMap:

public class PersonMap : EntityTypeConfiguration<Person>
{
    public string TableName { get { return "Persons"; } }
    public PersonMap()
    {
        ...
        this.ToTable(TableName);
        ...
    }
}

像这样访问它:

var map = new PersonMap(); 
string table = map.TableName;

如果您可能不知道地图的类型,请使用界面:

public interface IMap
{
    string TableName { get; }
}
public class PersonMap : EntityTypeConfiguration<Person>, IMap
{
    public string TableName { get { return "Persons"; } }
    public PersonMap()
    {
        ...
        this.ToTable(TableName);
        ...
    }
}

访问如下:

IMap map = new PersonMap(); 
string table = map.TableName;
点赞