有一些表格数据正作为分隔数据存储在数据库中。我知道,这不是很理想,但系统就是这样设计的。我需要将数据提取出来,并将其解析为某种结构。
在过去,我会使用DataTable并称之为“好”。然而,现在,这感觉就是肮脏。在我的数据模型中存储表格数据的更好、更高效、更轻量级的结构是什么?
发布于 2010-11-23 00:58:08
那么,只需创建一个将数据库的所有列都作为属性的类。然后实例化ICollection的实现(列表、哈希集等)。并填充它(例如使用LINQ )。
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;
}
}然后做一些类似的事情:
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。
发布于 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,因此可以很好地用于数据绑定。
我不会说它不那么“脏”,但它是另一种选择。
发布于 2017-10-03 18:42:35
我将使用我开发的一个库,它包括类型到类型转换和更多,以及用于列出https://www.nuget.org/packages/Generic.LightDataTable/的datareader
https://stackoverflow.com/questions/4247904
复制相似问题