当前位置:  开发笔记 > 编程语言 > 正文

DataTable to List <object>

如何解决《DataTabletoList<object>》经验,为你挑选了1个好方法。

如何获取DataTable并将其转换为List?

我在C#和VB.NET中都包含了一些代码,这两个问题都是我们创建一个新对象来返回数据,这是非常昂贵的.我需要返回对象的引用.

DataSetNoteProcsTableAdapters.up_GetNoteRow对象确实实现了INote接口.

我正在使用ADO.NET和.NET 3.5

c#代码

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

    IList notes = new List(); 

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

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

    return notes;
} 

VB.NET代码

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

Junior M.. 6

我有另一种方法可能值得一看.这是一种帮助方法.创建名为CollectionHelper的自定义类文件:

    public static IList ConvertTo(DataTable table)
    {
        if (table == null)
            return null;

        List rows = new List();

        foreach (DataRow row in table.Rows)
            rows.Add(row);

        return ConvertTo(rows);
    }

想象一下,你想获得一份客户名单.现在您将拥有以下来电者:

List myList = (List)CollectionHelper.ConvertTo(table);

您在DataTable中拥有的属性必须与您的Customer类(名称,地址,电话等字段)匹配.

我希望它有所帮助!

谁愿意知道为什么要使用列表而不是DataTables:链接文本

完整样本:

http://lozanotek.com/blog/archive/2007/05/09/Converting_Custom_Collections_To_and_From_DataTable.aspx



1> Junior M..:

我有另一种方法可能值得一看.这是一种帮助方法.创建名为CollectionHelper的自定义类文件:

    public static IList ConvertTo(DataTable table)
    {
        if (table == null)
            return null;

        List rows = new List();

        foreach (DataRow row in table.Rows)
            rows.Add(row);

        return ConvertTo(rows);
    }

想象一下,你想获得一份客户名单.现在您将拥有以下来电者:

List myList = (List)CollectionHelper.ConvertTo(table);

您在DataTable中拥有的属性必须与您的Customer类(名称,地址,电话等字段)匹配.

我希望它有所帮助!

谁愿意知道为什么要使用列表而不是DataTables:链接文本

完整样本:

http://lozanotek.com/blog/archive/2007/05/09/Converting_Custom_Collections_To_and_From_DataTable.aspx

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有