2017-06-02 4 views
0

dies ist mein Codekann nicht implizit Typ system.Data.EnumerableRowCollectio zu System.collection.Generic.Ienumerable

public IEnumerable<TestUser> Getdata() 
{ 
     //return new string[] { "value1", "value2" }; 
    TestUserBl tstusr = new TestUserBl(); 
    DataTable dt = new DataTable(); 
    dt = tstusr.TestUserSel(); 
    return dt.AsEnumerable(); 
} 

bekommen Fehler

kann nicht implizit Typ umwandeln ‚System.Data.EnumerableRowCollection konvertieren 'zu ' System.Collections.Generic.IEnumerable '. Eine explizite Konvertierung vorhanden ist (sind Sie ein gegossenes fehlt?)

+0

Was macht die 'TestUserSel()' Methode? – Alexander

Antwort

2

Eigentlich DataTable.AsEnumerable() gibt Ihnen EnumerableRowCollection als die Fehlermeldung angegeben, wenn Sie die spezifische Objektsammlung erhalten müssen, müssen Sie das Objekt wie folgt erhalten:

public IEnumerable<TestUser> Getdata() 
{ 
    // Code here 
    return dt.AsEnumerable().Select(x => new TestUser{ 
           someId = x.Field<string>("id"), 
          // like wise initialize properties here 
          }); 
} 
+0

Ich gebe nur keine Werte in function.so was ist die Verwendung dieser someId = x.Field ("id"), –

+0

@AkhilGeorge: Das wäre die Spaltennamen der DataTable, 'dt'. Sie müssen jede Spalte den entsprechenden Eigenschaften der Klasse ' –

+0

zuordnen/zuweisen. Dies gibt mir Akhil < tu_username i: nil = "true" />

Verwandte Themen