2014-03-28 34 views

回答

3

樣本訪問模型。注意DataSpace有其他Enum值

public void EFTools2Test() 
    { 
     var context = new MyContext("MYConnie"); 
     ObjectContext objContext = ((IObjectContextAdapter)context).ObjectContext; 
     MetadataWorkspace workspace = objContext.MetadataWorkspace; 
     IEnumerable<EntityType> managedTypes = workspace.GetItems<EntityType>(DataSpace.OSpace); 
     var result = new List<Type>(); 
     foreach (var managedType in managedTypes) { 

      Console.WriteLine(managedType.FullName); 
      foreach (var p in managedType.Properties) { 
       Console.WriteLine(p.Name); 
      } 
     } 


    } 



    public void EFToolsTest() { 
    // http://msdn.microsoft.com/en-us/library/system.data.metadata.edm.dataspace(v=vs.110).aspx 
     var context = new MyContext("MYConnie"); 
     ObjectContext objContext = ((IObjectContextAdapter)context).ObjectContext; 
     MetadataWorkspace workspace = objContext.MetadataWorkspace; 

     var xyz = workspace.GetItems<EntityType>(DataSpace.SSpace); 
     foreach (var ET in xyz) { 
      foreach (var sp in ET.Properties) { 
       Debug.WriteLine(sp.Name + ":" + sp.MaxLength);// just as an example 

       } 
      } 
     } 
+0

這是否會觸發數據庫?因爲我正在寫的T4模板不知道連接字符串。謝謝。 –

+1

通過EF訪問內存中建立的模型。嘗試一下 –