我们经常会遇到这样的问题:Update一个entity的部分数据时,通常需要new一个新的对象,然后事这新的对象Attach到Context中,代码如下所示: /// <summary> /// 只更新storedAddress数据中的DefaultAddress字段,更新为false /// 将默认地址改为不是默认地址 /// </summary> /// <param name="storedAddress">地址信息</param>…
园友莱布尼茨写了一篇<Entity Framework数据插入性能追踪>的文章,我感觉不错,至少他提出了问题,写了出来,引起了大家的讨论,这就是一个氛围.读完文章+评论,于是我自己也写了个简单的程序试了试. 先晒一下代码: 两个简单的类: 1: /// <summary> 2: /// 消费者 3: /// </summary> 4: public class Consumer 5: { 6: public int CId { get; set; } 7: public…
在实现基础的三层开发的时候,大家时常会在数据层对每个实体进行CRUD的操作,其中存在相当多的重复代码.为了减少重复代码的出现,通常都会定义一个共用类,实现相似的操作,下面为大家介绍一下Entity Framework时常用到的通用类.首先在数据库建立起几个关联表:Person.Company.Position,三个实体之间通过导航属性进行相互引用. 下面为大家分别介绍以泛型实现的 Create.Read.Update.Delete 操作: 1. Create 在ObjectContext类之中,…
终于有时间整理一下asp.net mvc 和 entity framework 方面的素材了. 闲话少说,步入正题: 下面是model层的管理员信息表,也是大伙比较常用到的,看看下面的代码大伙应该不会陌生, 在此Model上我们用到了asp.net mvc的数据注解和验证,entity framework对数据库的映射 using System; using System.Collections.Generic; using System.Linq; using System.Text; usi…
博客地址 http://blog.csdn.net/foxdave 本文主要记录近两天针对项目发生的数据访问问题的分析研究过程与系统架构优化,我喜欢说通俗的白话,高手轻拍 1. 发现问题 系统新模块上线后,使用频率较高,故在实际使用和后期的问题重现测试中,产生了一下系列的数据访问错误 错误是比较常见的错误 2. 分析问题 系统的架构为前端.业务层与数据层三层架构,采用Entity Framework 3.5作为数据处理技术,采用shared context per request模式,参照的是c…
在开发环境中,每次我们对要对数据库进行更改,比如增加修改表字段等.改好Entity类后,我们只需在Nuget程序包管理控制台运行 update-database 脚本却可: update-database Entity Framework提供的这个Migration功能非常方便,基本上不用再打开Sql Server Management Studio了.那么如何在发布环境(服务器)中同步我们对数据库的修改呢? 一种方法是在运行 update-database 脚本加上 -verbose 或 -s…
protected void Button1_Click(object sender, EventArgs e) { yyEntities _db; _db = new yyEntities(); test t = new test(); t.testName = this.TextBox1.Text; t.testCon = this.TextBox2.Text; _db.AddObject("test", t); _db.SaveChanges(); //using (var ed…
在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity.None和Computed. Identity:自增长 None:不处理 Computed:表示这一列是计算列. 在EF中,如果主键是int类型,Code First生成数据库的时候会自动设置该列为自增长.但如果主键是Guid类型,我们就要手动的去设置了. 对于下面的模型,如果我们没有设置自增长,数据库中会以0来填充 public class Person { [K…
在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity.None和Computed. Identity:自增长 None:不处理 Computed:表示这一列是计算列. 在EF中,如果主键是int类型,Code First生成数据库的时候会自动设置该列为自增长.但如果主键是Guid类型,我们就要手动的去设置了. 对于下面的模型,如果我们没有设置自增长,数据库中会以0来填充 public class Person { [K…