Code First アプローチで Entity Framework 4.1 を使用しています。エンティティのストレージ モデル タイプと列名を取得できます。
var items = context.ObjectContext.MetadataWorkspace.GetItems<EntityType>(DataSpace.SSpace);
foreach (var i in items)
{
Console.WriteLine("Table Name: {0}", i.Name);
Console.WriteLine("Keys:");
foreach (var key in i.KeyMembers)
Console.WriteLine("\t{0} ({1})", key.Name, key.TypeUsage.EdmType.FullName);
Console.WriteLine("Members:");
foreach (var member in i.Members)
Console.WriteLine("\t{0} ({1})", member.Name, member.TypeUsage.EdmType.FullName);
}
私が必要とするのは、エンティティがマップされている実際のテーブル名を取得することです。それを指定するには、さまざまな方法があります (Fluent-API .ToTable()、DataAnnotation [TableAttribute] を使用)。
この情報を取得する一般的な方法はありますか?