将数据表单元格分配给类
Posted
技术标签:
【中文标题】将数据表单元格分配给类【英文标题】:Assigning datatable cells to a class 【发布时间】:2013-08-02 09:51:52 【问题描述】:这似乎是一个奇怪的问题。
除了简单的教程等之外,我从未使用过其他课程。
我要做的是获取数据表中的文本数据并将某些单元格或单元格组分配为数据类。
例如,假设我有管道数据,我将有一个零件类型的整体类别,其中包含零件编号、位置、单位成本、制造商名称等作为***类别,称为“零件”,然后特定参数的子类,例如仅适用于弯曲的半径或仅适用于管道的长度。
这个想法是选择多个单元格,然后将它们标记为包含类中属性的数据。
首先,我是不是在错误的路线上,其次,如果这种方法是正确的,我将如何将一个或多个单元指定为给定类?
编辑:数据表是从包含未格式化数据的已打开用户文件中的字符串创建的。然后显示在数据网格中。
【问题讨论】:
【参考方案1】:首先重要的是要知道您想使用哪种方式和哪种技术,哪种方式更适合您的环境。
如果唯一的“要求”是从数据库中读取一些文本并将该值放入中间数据对象,那么需要考虑的是:
-
如果唯一的数据访问只是读取该值,则不适合采用“过度工程”解决方案,例如 ORM 不是最佳解决方案
如果采取优雅的方式很重要,也许一些像助手这样的小工具可能会很好
考虑的可能更多,现在我将列举一些工具:
-
PetaPoco“为你的 POCO 准备的 ORM 小东西”有很好的例子和说明
Massive "Massive is a Single File Database" 有很多很好的例子,这是以优雅的方式完成您想做的事情的最快方法
SqlDataReaderToObject 完成您想做的事情的另一种更快的方法
Extension methods for IDbComannd and IDataReader 最快且成本最低的解决方案
根据我的经验,我强烈建议您使用基于 Massive 的解决方案,无需安装程序集,只需将代码文件包含在您的解决方案中,但是,从第 4 点开始使用 datacomnnad 和 datareader 的最快方法可能是很好的解决方案。
希望这会有所帮助。
【讨论】:
【参考方案2】:我建议你使用 linq to SQL。它是 ADO.NET 的一部分
msdn.microsoft.com for linq to SQL
LINQ to SQL: .NET Language-Integrated Query for Relational Data
Simple LINQ to SQL in C#
【讨论】:
数据是未格式化的文本,直到我对其进行分类,然后可以将其放入适当的数据集中。 据我了解您的问题。您需要自动生成代码。为此,您需要在 c# 中学习 t4 模板。 msdn.microsoft.com/en-us/data/gg558520.aspx 好的,我刚刚看过自动代码生成,但我认为不是这样。我的程序会将“零件”的文本文件打开到数据表中。用户将选择单元格,然后告诉程序这些单元格包含一个属性(即半径)。然后程序将在幕后构建一个格式化的数据集。以上是关于将数据表单元格分配给类的主要内容,如果未能解决你的问题,请参考以下文章