2010-10-31 6 views
13

Ich verwende den Entity Framework-Code zuerst CTP4.Entity Framework Code Erste Lazy Loading nicht Navigationseigenschaften

Ist es möglich, zu faul Last nicht Navigationseigenschaften wie können Sie in NH 3

Ein gängiges Beispiel eine Tabelle, die eine binäre Spalte enthält, würde mit. Ich möchte nur die Daten dieser Spalte abrufen, wenn ich in meinem Code explizit nach dieser Eigenschaft frage, z. image.ImageData

Dank Ben

+1

Nur eine Vermutung. Es gibt eine Tabelle Splitting-Ansatz, vielleicht wird es helfen: http://thedatafarm.com/blog/data-access/ef-table-splitting-ndash-the-opposite-of-entity-splitting/ – Devart

+0

Ja, das ist, was wir verwendet, um mit NH vor der Unterstützung für Lazy Loaded Eigenschaften wurde hinzugefügt. Sieht aus, als ob das gleiche zuerst für den EF-Code gilt. –

Antwort

2
  1. Vote here
  2. Vote here
  3. lesen this
  4. hässliche Abhilfe:

    public static void Main() 
    { 
        IEnumerable<MyTable> table; 
        using (Entities context = new Entities()) 
        { 
        var buffer = 
         context.MyTable 
         .Select(myTable => new 
         { 
         Id = myTable.Id, 
         OtherColumn = myTable.OtherColumn 
         }) 
         .ToArray(); 
    
        table = buffer 
         .Select(t => new MyTable 
         { 
         Id = t.Id, 
         OtherColumn = t.OtherColumn 
         }); 
        } 
    } 
    

Dadurch werden die restlichen Felder nicht ausgewählt.