2014-04-05 54 views
1

我试图编写一个基于SQL表的对象,直到这一点,我只处理字符串/日期/ int /长等等,相对容易转换为C#的东西。我开始在c#中为asp页面编写我的字段,并且我注意到有一个唯一的标识符数据类型,也是一个xml数据类型。我不确定如何将这些数据类型编码到我的字段中,以及如何将数据移到我的项目中。任何人都可以帮助解释这一点,并可能让我开始,至少编码我的对象?C#对象中的XML /唯一标识符数据类型?

+0

听起来像您正在讨论SQL ['uniqueidentifier'](http://technet.microsoft.com/en-us/library/ms187942.aspx)类型。这在概念上对应于.NET中的System.Guid。我不确定在它们之间转换的最佳方式。另见http://stackoverflow.com/questions/1435908/c-sharp-guid-and-sql-uniqueidentifier – harpo

回答

0

正如@harpo所说,SQL中的UNIQUEIDENTIFIER类型被转换为.NET中的System.Guid。如果您正在使用ado.net和一个DataReader可以将列转换,像这样:

Guid myUniqueIdentifier = reader["MyUniqueIdentifierColumn"] != DBNull.Value && reader["MyUniqueIdentifierColumn"] != null ? Guid.Parse(reader["MyUniqueIdentifierColumn"].ToString()) : Guid.Empty; 

你可以只使用C#中的string数据类型的XML列。如果您希望能够从XML获取值,那么您需要创建一个对象来反映XML的结构,并使用XmlSerializer或DataContractSerializer反序列化对象。有关更多信息,请参阅此线程:https://stackoverflow.com/a/14723129/2488939