Làm cách nào để lấy DataTable và chuyển đổi nó thành Danh sách?DataTable vào Danh sách <object>
Tôi đã bao gồm một số mã bên dưới trong cả C# và VB.NET, vấn đề với cả hai điều này là chúng tôi tạo một đối tượng mới để trả về dữ liệu, rất tốn kém. Tôi cần trả lại một tham chiếu đến đối tượng.
Đối tượng DataSetNoteProcsTableAdapters.up_GetNoteRow thực hiện giao diện INote.
Tôi đang sử dụng ADO.NET, cùng với .NET 3.5
C# mã
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 Mã
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
Bất kỳ lý do tại sao bạn không sử dụng LINQ2SQL cho việc này? –
Dup: http://stackoverflow.com/questions/545328/datatable-to-generic-list-memory-leak/545429#545429 –
Khách hàng không muốn sử dụng LINQ2SQL hoặc LINQ nói chung. Cảm ơn bạn đã liên kết, nó sẽ giúp ích rất nhiều. Tôi sẽ chạy một số lần và xem điều gì xảy ra – Coppermill