如何通过流畅的API找到哪个表映射?

时间:2012-09-24 11:43:55

标签: entity-framework ef-code-first fluent-interface

我需要找到哪个表映射到EntityTypeConfiguration类。 例如:

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

        }
    }

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

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

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

将字段添加到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;