如何获得流畅的api映射实体表名称EF

时间:2014-04-06 14:14:38

标签: entity-framework entity-framework-4 entity-framework-5

使用流畅的api时,我在获取映射表名时遇到问题。当您使用数据注释时,这很容易,因为您可以使用TableAttribute来从特定实体获取表名,但是当我使用流畅的api时,我找不到这样做的方法。

我需要它,因为我正在实现覆盖dbContext上的SaveChanges的审计跟踪。

由于

1 个答案:

答案 0 :(得分:0)

我明白了。

为了在使用Fluent API时获取有关实体的信息,我这样做了:

// get the actual entity Set
// DataSpace.SSpace = Storage part of the model has info about the shape of our tables
var entitySet = workspace.GetItems<System.Data.Entity.Core.Metadata.Edm.EntityContainer>(System.Data.Entity.Core.Metadata.Edm.DataSpace.SSpace)
                .SelectMany(e => e.EntitySets).ToList().Where(a => a.Name == entityTypeName).FirstOrDefault();

最后:

// Get table name
string tableName = entitySet.Table;

希望这可以帮助别人!