2013-09-23 16 views
6

EF'in üzerine bazı uzantıları yazmaya çalışıyorum ve önce bir ObjectContext kodu denetlemeli ve buradaki varlık türlerini almam gerekiyor. Bunun metadata çalışma alanında bir yerde bulunması gerektiğini hissediyorum, ama nereye bakacağımı bilmiyorum. EF 5.İlk önce EF kodunu kullanarak bir ObjectContext öğesinden varlık türlerinin listesini nasıl alabilirim?

kullanıyorum.

İçeriklerimizi oluşturmak için herhangi bir kod oluşturma aracı kullanmadığımıza veya DbContext temel sınıfına türe özgü DbSet erişimcileri koymadığımızı unutmayın. Bu nedenle, bu özelliklere bakmak için sadece DbContext/ObjectContext üzerine düşünemiyorum.

cevap

6

bu çalışması gerekir düşünüyorum:

var objectItemCollection = 
    (ObjectItemCollection)((IObjectContextAdapter)ctx) 
    .ObjectContext.MetadataWorkspace.GetItemCollection(DataSpace.OSpace); 

foreach(var entityType in objectItemCollection.GetItems<EntityType>()) 
{ 
    Console.WriteLine(objectItemCollection.GetClrType(entityType).FullName); 
} 
İlgili konular