通过net remoting序列化EntitySet

时间:2010-06-14 15:46:41

标签: asp.net linq-to-sql entityset

我通过网络远程处理有一个共享对象。问题是该对象具有一些EntitySet和EntityRef属性。当我尝试运行程序时,我得到一个异常,告诉我EntitySet没有标记为Serializable。如果我将它标记为Serializable一切似乎都没问题,但是当我尝试从outity访问EntitySet所代表的属性时,我无法使用它。

任何建议都将受到赞赏。

提前致谢。

BTW,有谁知道如何更改tcp通道的默认二进制序列化?

3 个答案:

答案 0 :(得分:0)

尝试将各个属性和属性标记为可序列化,这也可以让您访问这些属性。

注意事项是Set上的所有事件也需要序列化。

答案 1 :(得分:0)

我认为事情就在这里: http://msdn.microsoft.com/en-us/library/bb546184.aspx

有一个处理EntitySet和序列化的例子。

答案 2 :(得分:0)

我终于达成了解决方案,让我解释一下:

在LinqToSQL中注册两个表之间的关系(例如1:M),你必须在M侧声明一个EntitySet,在另一个表面声明一个EntityRef。

在我的例子中,我有一个私有属性代表EntitySet,以及一个用于修改它的公共访问器。考虑到Linq to Sql需要通过DataContract(对于类)和DataMember(对于属性)进行显式的装饰序列化,问题是我修饰了公共属性而不是私有属性。

之后一切都摇滚! (我已经失去了很多小时,但我学到了很多序列化)