C# 如何通过DataContext存储用户定义的数据类型?
我使用DataContractSerializer保存用户数据,但现在 我想在数据库设计中使用DataContext。 但以下系统结构不能通过DataContext存储C# 如何通过DataContext存储用户定义的数据类型?,c#,database,silverlight,windows-phone-7,C#,Database,Silverlight,Windows Phone 7,我使用DataContractSerializer保存用户数据,但现在 我想在数据库设计中使用DataContext。 但以下系统结构不能通过DataContext存储 class Data { public DataType1; public DataType2; } 这些API似乎不支持存储用户定义的数据类型。 我不想分离所有的数据成员,因为这个系统在任何地方都使用这些结构。如果我更改了结构,则很难维护,并且DataType1包含一个列表成员。即使分开了,我也不知道该怎么办 这
class Data
{
public DataType1;
public DataType2;
}
这些API似乎不支持存储用户定义的数据类型。
我不想分离所有的数据成员,因为这个系统在任何地方都使用这些结构。如果我更改了结构,则很难维护,并且DataType1包含一个列表成员。即使分开了,我也不知道该怎么办
这个结构
你能给我一些建议吗?
谢谢
这些API似乎不支持存储用户定义的数据类型
如果这是真的,api将完全没有目的
DataContractSerializer具有看似冲突的规则,试图使序列化更加隐式。例如,您可以序列化具有公共属性和公共默认构造函数的公共类型,而不必使用DataContract属性或DataMember属性修饰它的任何成员
在我看来,至少您需要使数据成为一个公共类。您很可能需要检查其他类,以确保它们是隐式序列化的,或者使用DataContract和DataMember属性明确地标记它们 亲爱的大家:
但现在我用
DataContext无法序列化用户定义的类型,即使标记为[Serializable]
现在,解决方法似乎将所有成员分为一个类
谢谢。Silverlight不支持与[Serializable]属性关联的典型.NET序列化。它也不支持Linq到SQL数据上下文的东西。生成的XML需要与DataContractSerialization兼容,请参见我的答案。