我的Web服务返回一个包含1个表的数据集,该表包含135列。 我需要构建一个模型类(在C#中),它应该有135个列名作为类的属性名。
我有什么方法可以使用文件流编写器&建立我的班级?
注意:我可以轻松地将数据集转换为XML,但后来我要做很多复制粘贴工作来手动创建类。 :(
答案 0 :(得分:1)
实际上有一些方法可以将XML转换为C#中的类:
http://sharpertutorials.com/using-xsd-tool-to-generate-classes-from-xml/
但是如果XML来自数据集的默认序列化,那么它可能看起来很可怕。
答案 1 :(得分: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.
对于Eg: C:\ Windows \ system32> xsd c:\ xml \ krishna.xml Microsoft(R)Xml架构/数据类型支持实用程序 [Microsoft(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
对于Eg: C:\ Windows \ system32> xsd krishna.xsd / classes Microsoft(R)Xml架构/数据类型支持实用程序 [Microsoft(R).NET Framework,版本4.0.30319.1] 版权所有(C)Microsoft Corporation。版权所有。 写文件'C:\ Windows \ system32 \ krishna.cs'。
注意:Resharper或类似工具可以正确重命名生成的属性名称(如果不正确)。
输出类文件可能包含一些您需要清理的不必要信息。 因此,如果您的数据集正在撤回包含数百个列的大型表格,则此方法是合适的。你不想手动复制粘贴所有这些以创建自己的映射类。
获得结构(类)后,可以使用XmlSerializer将其转换为对象或反之。
答案 2 :(得分:0)
我建议你研究一下Scaffolding。你可以在这里下载:
ASP.Net MVC Scaffold Generator
MVC Scaffold Generator是新ASP.NET的CRUD代码生成器 MVC框架。
MVC Scaffold Generator可让您快速创建基本版 添加/编辑/删除/列出Asp.NET页面。
您还可以在此处观看截屏视频:
ASP.Net MVC Scaffold Generator screencast
以下是Microsoft演练: