表格数据作为分隔数据存储在数据库中。我知道,这并不理想,但这就是系统的设计方式。我需要将数据拉出来并将其解析为某种结构。
在过去,我使用DataTable并称之为好。然而,现在,这只是感觉很脏。什么是更好,更高效,更轻量级的结构来存储我的数据模型中的表格数据?
答案 0 :(得分:3)
这是来自Telerik开发人员的轻量级DataTable:
它支持INotifyCollectionChanged和INotifyPropertyChanged,因此它适用于数据绑定。
我不会说它不那么“脏”,但它是另一种选择。
答案 1 :(得分:2)
好吧,只需创建一个包含数据库所有列作为属性的类。然后只是实例化ICollection(List,Hashset等)的实现并填充它(例如使用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。
答案 2 :(得分:0)
使用我开发的库包括类型转换等等,以及要列出的datareader https://www.nuget.org/packages/Generic.LightDataTable/