随笔分类 - Entity Framework
摘要:edmx的构造函数:public DecorationMSEntities() : base(myConfig.DataBaseConnectionString, "DecorationMSEntities") { this.ContextOptions.LazyLoadingEnabled = true; OnContextCreated(); }EF连接字符串模板类:public class myConfig { public static string DataBaseConnectionString { return EFConnectionStringModle(
阅读全文
摘要:通过Entiy Framework实践系列文章,理了理 Entity Framework 的实体关系。 为什么要写文章来理清这些关系?“血”的教训啊,刚开始使用 Entity Framework的时候,由于没有静下心来认真理清关系,走了一些"痛不欲生"的弯路。而我们目前开发的项目都在使用 Entity Framework,为了避免其他人再经历"痛不欲生"的弯路。于是下定决心边“理清关系”边“写博客”。而写博客可以逼着自己把问题完整地解决,避免半途而废。当写出这些文章,自己不知不觉对问题有了更深的理解。 温故而知新,通过这篇总结将自己对EF实体关系的理解回
阅读全文
摘要:不推荐方式一:思路:先从ObjectContext取出实体,然后将前台传过来的DTO属性对应赋值到我们的实体上,然后调用ObjectContext的保证修改方法。但是这种方式是最不提倡的,因为这样每次修改前都得先将数据查出来,经过SqlProfiler追踪,这么一个操作要对数据库进行两次的连接。这是不可忍受的!推荐方式二:思路:无需先查出实体,因为我们知道EF通过ObjectStateManage来控制添加、修改、删除队列以及实体的状态,我们所有可以通过在直接将DTO转化成实体,然后将实体对应的队列中,并 且我们手动的将实体的状态处理好,再调用ObjectContext的保证修改方法,这样就避
阅读全文
摘要:一、WCF传递的需要是POCO类,且不能循环引用(这一点通过在实体类添加[DataContract(IsReference=true)]即可)二、一个问题是EF的延迟加载和代理实例机制,导致EF查询结果并非POCO类,而是代理类, 需要关系EF代理实例模式:Configuration.ProxyCreationEnabled = false;如何实现UpdateUser方法呢,一般我们会用IDbSet.Attach()方法来更新m_DbSet.Attach(entity); this.DbContext.Entry<T>(entity).State = EntityState.Mo
阅读全文
摘要:最近在使用EF架构去开发的时候,遇到一个奇怪的现象,现将其记录下来备以后查阅。在开发的时候,我在框架中创建了一个EF的实体模型,命名为Model1.edmx,同时对应的生成配置文件下面会自动创建App.Config<?xml version="1.0" encoding="utf-8"?><configuration> <connectionStrings> <add name="MyEntities" connectionString="metadata=res://*/Model
阅读全文
摘要:在EF架构中,我们的数据库注释不会被自动映射到EDMX模型上,而模型的说明也不会自己在生成的SQL语句上体现,我们需要手动做一下设置才行。首先分两步走,第一步Data First环境下,将数据库注释添加到实体类;第二步 Code First环境下,将实体类注释,输出到SQL语句上。下面是实现方法:第一 数据库注释添加到实体类从数据库更新模型后,假设为"D:\EF_project1\Model1.edmx"下载工具http://eftsqldocgenerator.codeplex.com/,执行相关命令:EFTSQLDocumentation.Generator.exe -
阅读全文
摘要:void WriteProperty(CodeGenerationTools code, EdmProperty edmProperty){ if (edmProperty.Documentation != null && edmProperty.Documentation.Summary != null) { WriteProperty(Accessibility.ForProperty(edmProperty), code.Escape(edmProperty.Documentation.Summary), ...
阅读全文
摘要:这个示例同时包含了一对多,如下4个类:部门类 Department员工类 Employee项目类 Project部门和员工是一对多关系项目和员工是多对多关系代码如下:部门类:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.ComponentModel.DataAnnotations;namespace EFLabCodeFirst{ [Table("Departs")] public class Department { ...
阅读全文
摘要:使用这种方式请首先安装EntityFramework4.1.exe,您可以去这里下载:ADO.NETEntity Framework 4.1Code First是EF建模的第三种方式,也是最灵活的一种方式,这种方式需要自己手动编写代码实现实体对象、对象关系,并提供注解映射信息,这种方式的本质是将基于图形界面的Model First设计方式改为基于手动编写代码的方式,这并不意味着code就效率低下,通过代码生成工具支持,开发效率一样很高。一对多的示例一个游戏账号可以创建多个游戏角色/// <summary> /// 游戏账号 /// 通过Data Annotations实现实体到数据
阅读全文
摘要:此系列在不断完善中,希望能将我关于Entity Framework的知识总结整理到这里跟大家分享,也希望得到大家的指点!共同进步,共同提高!谢谢!Entity Framework快速入门Entity Framework快速入门--实例篇 DatabaseFirstEntity Framework快速入门--IQueryable与IEnumberable的区别Entity Framework快速入门--ModelFirstEntity Framework快速入门--CodeOnly POCO尝试 Entity Framework POCO功能+Code FirstEntity Framework
阅读全文

浙公网安备 33010602011771号