首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.Data.DataTable的轻量级替代品

System.Data.DataTable的轻量级替代品
EN

Stack Overflow用户
提问于 2010-11-23 00:50:11
回答 3查看 8.8K关注 0票数 3

有一些表格数据正作为分隔数据存储在数据库中。我知道,这不是很理想,但系统就是这样设计的。我需要将数据提取出来,并将其解析为某种结构。

在过去,我会使用DataTable并称之为“好”。然而,现在,这感觉就是肮脏。在我的数据模型中存储表格数据的更好、更高效、更轻量级的结构是什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-11-23 00:58:08

那么,只需创建一个将数据库的所有列都作为属性的类。然后实例化ICollection的实现(列表、哈希集等)。并填充它(例如使用LINQ )。

代码语言:javascript
复制
  public class Customer
  {
    public int Id { get; set;}
    public string Name { get; set; }

    public Customer(int id, string name)
    {
        this.Id = id;
        this.Name = name;
    }
  }

然后做一些类似的事情:

代码语言:javascript
复制
List<Customer> customers = new List<Customer>();
using (DbDataReader reader = // instantiate reader)
{
    while (reader.Read())
    {
       Customer customer = new Customer(reader.GetInt32(0), reader.GetString(1));
       customers.Add(customer);
    }
}

如果要访问存储在数据库中的数据,则可能需要查看LinqToSql或LinqToEntities。

票数 2
EN

Stack Overflow用户

发布于 2010-11-23 01:04:26

这是一个来自Telerik开发人员的轻量级DataTable:

http://blogs.telerik.com/vladimirenchev/posts/09-04-23/lightweight-datatable-for-your-silverlight-applications.aspx

它支持INotifyCollectionChanged和INotifyPropertyChanged,因此可以很好地用于数据绑定。

我不会说它不那么“脏”,但它是另一种选择。

票数 3
EN

Stack Overflow用户

发布于 2017-10-03 18:42:35

我将使用我开发的一个库,它包括类型到类型转换和更多,以及用于列出https://www.nuget.org/packages/Generic.LightDataTable/的datareader

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4247904

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档