Entity framework 在工作流持久性中序列化POCO EF对象

Entity framework 在工作流持久性中序列化POCO EF对象,entity-framework,workflow,poco,Entity Framework,Workflow,Poco,我正在尝试持久化一个工作流,其中包含一个EF POCO作为变量。当我尝试持久化(工作流正在尝试序列化对象)时,我得到一个错误: 类型“System.Collections.Generic.ICollection`1[MyObject]”不能为空 连载。考虑用DATACONTRATCTITLE属性标记它 属性,并标记其所有要序列化的成员 DataMemberAttribute属性。如果类型是集合,请考虑 使用CollectionDataContractAttribute标记它。见 其他受支持类型的

我正在尝试持久化一个工作流,其中包含一个EF POCO作为变量。当我尝试持久化(工作流正在尝试序列化对象)时,我得到一个错误:

类型“System.Collections.Generic.ICollection`1[MyObject]”不能为空 连载。考虑用DATACONTRATCTITLE属性标记它 属性,并标记其所有要序列化的成员 DataMemberAttribute属性。如果类型是集合,请考虑 使用CollectionDataContractAttribute标记它。见 其他受支持类型的Microsoft.NET Framework文档


有什么办法可以解决这个问题吗?

把它变成一个列表可能是解决这个问题最简单的方法。问题是它不知道如何对你的收藏进行序列化

我在这里找到了答案:


事实证明FixupCollection(在Entities.tt中)没有DataContract属性。一旦我添加了这一点,问题就解决了。

你能完成你的评论吗?似乎数据契约序列化程序可以工作,因为我可以在工作流之外对其进行序列化。