WCF传输EntityFramework 实体类的POCO 代理 Windows Communication Foundation (WCF) 不能对代理进行直接序列化或反序列化,因为 DataContractSerializer 只能序列化和反序列化已知类型,而代理类型是未知类型. 如果需要序列化 POCO 实体,请禁用代理创建或使用 ProxyDataContractResolver 类将代理对象作为原始 POCO 实体进行序列化. 若要禁用代理创建,请将 ProxyCreationEnab…
折腾几天记载一下,由于项目实际需要,从edmx生成的实体类能自动继承自定义的基类,这个基类不是从edmx文件中添加的Entityobject. 利用ADO.NET C# POCO Entity Generator With WCF Support生成的tt文件(比如model.tt)中找到 partial class partial class…
介绍 在之前的 Entity Framework 快速上手介绍 之中,两个实体之间只是简单的一对一关系,而在实际的应用场景中,还会出现多对多关系,同时还有可能会出现多对多关系还附带有其他字段的情况. 下面以几个例子,对表间多对多关系的类表示加以更加详细地描述.虽然两个场景举例是使用的 C# 及 Entity Framework(Model First) 框架自动生成数据库.实体类.但这种设计方法,并不只是在使用 ORM 框架时需要,事实上,它是 POCO 及简单 Java 类(POJO)的设计原…
EF实体类的配置可以使用数据注释或Fluent API两种方式配置,Fluent API配置的关键在于搞清实体类的依赖关系,按此方法配置,快速高效合理.为了方便理解,我们使用简化的实体A和B以及A.B的配置类AMap和BMap,来演示如何正确配置实体类关系的过程. public class A { public int Id { get; set; } } public class B { public int Id { get; set; } } public class AMap : Ent…
项目中如果 EF + WCF 结合使用,模式应该是EF负责读取数据库,传递数据对象给WCF,WCF再将这些对象传送给客户端.因为WCF传送的对象需要序列化,而EF默认生成的对象并没有序列化,很可能会出现EF传过来的类对象,WCF里面要再定义一次,加上序列化特性.属性明明一样,但还是需要转换:遍历.赋值,太浪费了. 一种解决的方案是,让EF生成的序列化的实体类. 这样就需要修改EF的模板. 1.在VS2012中,首先我们要下载一个模板 EF 5.x DbContext Generator with…
在使用EntityFramework做CodeFirst开发时,经常需要将实体类映射到数据库表,但是C#实体类和数据库表中的命名遵循的是不同的规范,这就需要为每个实体类做一个到数据库表名的映射.大多情况下需要映射到的表名是有一定规则的,比如我有实体类UserEntity.RoleEntity,需要将表名分别映射为T_User.T_Role,再比如mysql的表名是全小写,可以使用以下方式实现批量映射 public class MyDbContext : DbContext { public Db…
1.手动创建一个部分类 (你可以手动创建 partial class, 内容为空) [MetadataType(typeof(AppleMetadata))] public partial class Apple { } 2.创建一个元数据类 ( AppleMetadata class, 在其中添加你需要的验证, field 的名字与 原来的Apple class 要一致) 3.修改ef的模板,是生成的实体类带有MetadataType属性…
工具类 负责对象字节数组的相互转换,传输数据用 package com.yq.utils; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; public class BeanUtil { /** * @D…
首先是工具的下载地址: 动软.Net代码生成器 该工具官网自带完整教程: 文档:http://www.maticsoft.com/help/ 例子:http://www.maticsoft.com/help/maticstudy.htm 需求:项目中需要根据数据库中的表生成相应的C#实体类,通常是一张表对应一个实体类Model.如果不嫌麻烦当然可以一个一个类.属性都手打,但当表很多.类属性也很多时,手工效率就显得很低了,需要使用[代码生成工具]来自动生成实体类. 文档很详细,很快就能上手使用.下…
引言:DDD的困惑 最近,我看到园子里面有位朋友的一篇博客 <领域驱动设计系列(一):为何要领域驱动设计? >文章中有下面一段话,对DDD使用产生的疑问: •没有正确的使用ORM, 导致数据加载过多,导致系统性能很差. •为了解决性能问题,就不加载一些导航属性,但是却把DB Entity返回上层,这样对象的一些属性为空,上层使用这个数据时根本不知道什么时间这个属性是有值的,这个是很丑陋的是不是? 博主说的第一个问题,是因为使用ORM的人把实体类的全部属性的数据查询出来了,相当于执行了 sele…