DataTable à la Liste des<object>

Comment dois-je prendre un DataTable et la convertir en une Liste?

J'ai inclus un peu de code ci-dessous en C# et VB.NET le problème avec ces deux, c'est que nous créons un nouvel objet à renvoyer les données, ce qui est très coûteux. J'ai besoin de retourner une référence à l'objet.

La DataSetNoteProcsTableAdapters.up_GetNoteRow objet n'mettre en œuvre les INote interface.

Je suis en utilisant ADO.NET, avec .NET 3.5

de code c#

public static IList<INote> GetNotes() 
{ 
    DataSetNoteProcsTableAdapters.up_GetNoteTableAdapter adapter =
        new DataSetNoteProcsTableAdapters.up_GetNoteTableAdapter(); 
    DataSetNoteProcs.up_GetNoteDataTable table =
        new DataSetNoteProcs.up_GetNoteDataTable(); 

    IList<INote> notes = new List<INote>(); 

    adapter.Connection = DataAccess.ConnectionSettings.Connection; 
    adapter.Fill(table); 

    foreach (DataSetNoteProcs.up_GetNoteRow t in table) { 
        notes.Add((INote)t); 
    } 

    return notes;
} 

VB.NET Code

Public Shared Function GetNotes() As IList(Of INote)
    Dim adapter As New DataSetNoteProcsTableAdapters.up_GetNoteTableAdapter
    Dim table As New DataSetNoteProcs.up_GetNoteDataTable

    Dim notes As IList(Of INote) = New List(Of INote)

    adapter.Connection = DataAccess.ConnectionSettings.Connection
    adapter.Fill(table)

    For Each t As DataSetNoteProcs.up_GetNoteRow In table
        notes.Add(CType(t, INote))
    Next

    Return notes
End Function
Aucune raison pourquoi vous ne l'utilisez pas LINQ2SQL pour cela?
Dup: stackoverflow.com/questions/545328/...
Le client ne souhaite pas utiliser LINQ2SQL ou LINQ en général. Merci pour le lien, cela va nous aider beaucoup. Je vais effectuer quelques temps et voir ce qui se passe
J'ai répondu à cette ici stackoverflow.com/a/43040990/74585

OriginalL'auteur Coppermill | 2009-04-02