2011-07-20 80 views
1

我的Webservice正在返回包含1个表的数据集,其中包含135列。 我需要建立一个模型类(在C#中),它应该有135个列名作为类的属性名称。将数据集转换为模型类

有什么办法可以使用文件流编写器&构建我的课程?

注意:我可以很容易地将数据集转换为XML,但后来我做了大量的复制粘贴工作来手动创建类。 :(

回答

0

我建议你看看脚手架您可以在这里下载:。

ASP.Net MVC Scaffold Generator

MVC脚手架生成器是新的ASP.NET MVC 框架CRUD代码生成器。

MVC脚手架生成器允许您快速创建基本 添加/编辑/删除/列表Asp.NET页面。

您还可以在这里观看截屏:

ASP.Net MVC Scaffold Generator screencast

这里是一个微软演练:

Using MVC View Templates with Data Scaffolding

+0

对不起尼尔,我认为脚手架不会帮助我从数据集或XML文档创建c#类。 – Biki

1

我有另一种方法是以下所列各项:

步骤1:将您的数据集到一个XML文档:

  var xmlSW = new System.IO.StreamWriter(@"c:\xml\Krishna.xml"); 
      myDataset.WriteXml(xmlSW, System.Data.XmlWriteMode.WriteSchema); 
      xmlSW.Close(); 

步骤2:转换XML文档到文档XSD。

-> Open Visual Studio Command Promt. 
    -> Type : xsd c:\xml\Krishna.xml (that is the path of the xml file. 

对于例如: C:\ Windows \ System32下> XSD C:\ XML \ krishna.xml 微软(R)XML模式/数据类型的支持效用 [微软(R)的.NET Framework 4.0版.30319.1] 版权所有(C)Microsoft Corporation。版权所有。 写入文件'C:\ Windows \ system32 \ krishna.xsd'。

第3步:将您的xsd转换为C#类。

-> Open Visual Studio Command Promt. 
    -> Type : xsd krishna.xsd /classes 

对于例如: C:\ Windows \ System32下> XSD krishna.xsd /类 微软(R)XML模式/数据类型的支持效用 [微软(R).NET Framework版本4.0.30319.1]版权所有(C)Microsoft公司。版权所有。 写入文件'C:\ Windows \ system32 \ krishna.cs'。

注意:生成的属性名称可以通过Resharper或类似工具正确重命名(如果不正确)。

输出类文件可能包含一些您需要清理的不必要信息。 所以这种方法是适用的,如果你的数据集在回荡包含数百个列的巨大表格&你不想复制手动粘贴所有这些来创建你自己的映射类。

一旦获得结构(类),就可以使用XmlSerializer将其转换为对象或反之亦然。