如何通过DataContext存储用户定义的数据类型?

时间:2011-04-08 03:55:59

标签: c# database silverlight windows-phone-7

我使用DataContractSerializer来保存用户数据,但现在 我想将DataContext用于我的数据库设计。 但系统存在struture,因为下面不能通过DataContext存储。

class Data
{
   public DataType1;
   public DataType2;
}

似乎这些API不支持存储用户定义的数据类型。 我不想将所有数据成员分开,因为这个系统每个地方都使用这些结构。如果我更改了结构,则很难维护,并且DataType1包含List<>会员。我不知道怎么办,即使分开 这种结构。

请您给我一些建议吗? 感谢。

2 个答案:

答案 0 :(得分:0)

  

似乎这些API不支持存储用户定义的数据类型

如果确实如此,api完全没有目的。

DataContractSerializer在尝试使序列化更隐式时具有看似冲突的规则。例如,您可以序列化具有公共属性和公共默认构造函数的公共类型,而无需使用DataContract属性或具有DataMember属性的任何成员对其进行装饰。

在我看来,至少你需要让Data成为公共课。您很可能需要检查其他类,以确保它们是隐式可序列化的,或者您使用DataContractDataMember属性明确标记它们。

答案 1 :(得分:0)

亲爱的: 但现在我使用 DataContext

DataContext无法序列化用户定义的类型,甚至标记为[Serializable]。

解决方法似乎现在将所有成员分成一个类......

感谢。