项目中如果 EF + WCF 结合使用,模式应该是EF负责读取数据库,传递数据对象给WCF,WCF再将这些对象传送给客户端。因为WCF传送的对象需要序列化,而EF默认生成的对象并没有序列化,很可能会出现EF传过来的类对象,WCF里面要再定义一次,加上序列化特性。属性明明一样,但还是需要转换:遍历、赋值,太浪费了。
一种解决的方案是,让EF生成的序列化的实体类。
这样就需要修改EF的模板。
1、在VS2012中,首先我们要下载一个模板
EF 5.x DbContext Generator with WCF Support
http://visualstudiogallery.msdn.microsoft.com/79a5b6df-0ac9-49ac-82a0-413817bd97f4
EF 6.x DbContext Generator with WCF Support
http://visualstudiogallery.msdn.microsoft.com/fad56775-1738-407d-8d9c-73140474aa34
2、打开EF项目中的.edmx文件,在关系图空白的地方右键,选“添