使用流畅的api时,我在获取映射表名时遇到问题。当您使用数据注释时,这很容易,因为您可以使用TableAttribute来从特定实体获取表名,但是当我使用流畅的api时,我找不到这样做的方法。
我需要它,因为我正在实现覆盖dbContext上的SaveChanges的审计跟踪。
由于
答案 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;
希望这可以帮助别人!