我在Entity Framework4.0 V2自动生成类(Tt)中看到的一件奇怪的事情是,这些类没有被标记为可序列化的。尽管它们具有WCF的DataContract属性。
现在的问题是,当我将POCO对象存储到viewstate中时,它抛出了一个异常,告诉我该类是不可序列化的。
如果我在不使用t4模板或使用默认类生成方案的情况下生成类,我看到的是生成的类具有Serializable属性。
但不幸的是,我不能使用默认的实体生成方案。因为我希望在自动生成的类中包含一些自定义逻辑,这只能通过t4模板实现。
现在我想知道的是:
1)为什么自动生成的类中没有Serializable属性,或者我犯了什么错误,或者我走向了错误的方法。
2)自定义EF 4.0 T4模板以适应可序列化属性是个好主意吗?
期待您的宝贵建议。
谢谢,
Burhan Ghee
发布于 2011-04-19 21:54:44
可以,您可以修改模板。请查看Adding [DataMember] [DataContract] attributes in Entity Framework POCO Template,了解修复模板所需的确切操作。具体看一下模板中的WriteHeader函数。
发布于 2010-05-06 10:28:21
T4模板用途是允许您自定义。无所畏惧地定制它!查看此http://blogs.msdn.com/adonet/archive/2010/03/05/updated-data-model-designer-extension-starter-kit.aspx
https://stackoverflow.com/questions/2756592
复制相似问题