Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过DataContext存储用户定义的数据类型?_C#_Database_Silverlight_Windows Phone 7 - Fatal编程技术网

C# 如何通过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包含一个列表成员。即使分开了,我也不知道该怎么办 这

我使用DataContractSerializer保存用户数据,但现在 我想在数据库设计中使用DataContext。 但以下系统结构不能通过DataContext存储

class Data
{
   public DataType1;
   public DataType2;
}
这些API似乎不支持存储用户定义的数据类型。 我不想分离所有的数据成员,因为这个系统在任何地方都使用这些结构。如果我更改了结构,则很难维护,并且DataType1包含一个列表成员。即使分开了,我也不知道该怎么办 这个结构

你能给我一些建议吗? 谢谢

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

如果这是真的,api将完全没有目的

DataContractSerializer具有看似冲突的规则,试图使序列化更加隐式。例如,您可以序列化具有公共属性和公共默认构造函数的公共类型,而不必使用DataContract属性或DataMember属性修饰它的任何成员

在我看来,至少您需要使数据成为一个公共类。您很可能需要检查其他类,以确保它们是隐式序列化的,或者使用DataContract和DataMember属性明确地标记它们

亲爱的大家: 但现在我用

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

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


谢谢。

Silverlight不支持与[Serializable]属性关联的典型.NET序列化。它也不支持Linq到SQL数据上下文的东西。生成的XML需要与DataContractSerialization兼容,请参见我的答案。