【发布时间】:2011-08-07 05:42:09
【问题描述】:
我有从我的 .dbml 生成的实体。所以有些对象具有“一对多”的关系,并且在实体中它是作为 EntitySet 生成的。
另外,我有 WCF 工作流服务应用程序,其中包含带有业务逻辑的 .xamlx。
因此,使用此 .xamlx 我尝试将之前生成的对象发送到客户端,但我发现异常“底层连接已关闭:连接已意外关闭”。
EntitySet 已添加到 KnonwTypes。 .dbml 文件中的 Serelzation 模式具有“无”值。
那么,你能告诉我如何解决这个问题吗?
【问题讨论】:
-
更新:我将 serilixation 模式更改为单向并且它可以工作,但是有下一个问题,对于其中一个对象,一些属性没有用 DataMemberAttribute 定义并且在客户端中看不到它......我怎么能解决是吗?
-
Marc_s,如果代码是由 Visual Studio 生成的,如何添加此属性?
-
你可以使用另一种方法来生成你的类,它支持那种东西——例如Damien Guard's Linq-to-SQL T4 templates (free) 或 CodeSmith's PLinqO framework(需要 CodeSmith 的许可才能使用)
-
但基本上,如果您有
SerializationMode = Unidirectional,内置的 Linq-to-SQL 设计器也应该自动执行此操作。也许您需要从模型中删除该表并重新添加它,以便它会获取[DataMember]属性...