08 2013 档案
摘要:本文目录EF对单个实体的增查改删增加单个实体查询单个实体修改单个实体删除单个实体EF里主从表关联数据的各种增删改查增加(增加从表数据、增加主从表数据)查询(查询导航属性为集合、查询导航属性为单个对象)修改(修改从表的外键)删除(删除主从表关系、删除主表数据、删除主从表数据、修改从表数据外键)补充内容SaveChanges方法提交多次操作DbSet.Add方法返回当前实体源码和系列文章导航注:本章节多次演示了各种删除,若要重复查看效果,需解开注释初始化数据的方法。一、EF对单个实体的增查改删增加单个实体: /// /// 增加单个实体 /// ...
阅读全文
摘要:对于之前一直使用webForm服务器控件、手写ado.net操作数据库的同学,突然来了EF和MVC,好多新概念泉涌而出,的确犹如当头一棒不知所措。本系列文章可以帮助新手入门并熟练使用EF和MVC,有了这个基础以后再学习后续新版的EF以及MVC,自然简单许多了。祝好运! 一、EF Code First
阅读全文
摘要:之前的EF Code First系列讲了那么多如何配置实体和数据库表的关系,显然配置只是辅助,使用EF操作数据库才是每天开发中都需要用的,这个系列讲讲如何使用EF操作数据库。老版本的EF主要是通过ObjectContext来操作数据库的,一看是Object打头的,自然相当庞大,方法也比较多。到了经典的4.1版本,EF小组推出了一些更简单好用的API,就是DbContext,它包括更常用的方法。看看EF小组是怎么说的,原话:The Entity Framework 4.1 release also included another important feature, called the Db
阅读全文
摘要:本章节讲解EF里的继承映射关系,分为TPH、TPT、TPC。具体:1.TPH:Table Per Hierarchy这是EF的默认的继承映射关系:一张表存放基类和子类的所有列,自动生成的discriminator列用来区分基类和子类的数据。新建一个度假村Resort实体类试试: /// /// 度假村类 /// public class Resort : Lodging //这里继承了Lodging类 { public string Entertainment { get; set; } //娱乐 public string A...
阅读全文
摘要:本章节开始了解EF的各种关系。如果你对EF里实体间的各种关系还不是很熟悉,可以看看我的思路,能帮你更快的理解。I.实体间一对一的关系添加一个PersonPhoto类,表示用户照片类 /// /// 用户照片类 /// public class PersonPhoto { [Key] public int PersonId { get; set; } public byte[] Photo { get; set; } public string Caption { get; set; } //标题 ...
阅读全文
摘要:通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西。文章的开头提示下:提供的demo为了后面演示效果,前面代码有些是注释了的,请按照文章讲解的顺序先后释放注释并运行查看效果。I.EF里Guid类型数据的自增长现在新添加一个Trip旅行类: /// /// 旅行类 /// public class Trip { public Guid Identifier { get; set; } public DateTime StartDate { get; ...
阅读全文
摘要:I.EF里的默认映射上篇文章演示的通过定义实体类就可以自动生成数据库,并且EF自动设置了数据库的主键、外键以及表名和字段的类型等,这就是EF里的默认映射。具体分为:数据库映射:Code First 默认会在本地的SQL Expression数据库中建立一个和DbContext的子类的全名相同的数据库,全名指的是命名空间加上类名;表映射:Code First 默认会按照类型名复数建立数据表,比如说Destination类对应的表名就叫Destinations;列映射:Code First 默认会按照类中的属性名建立column,它还有默认的数据类型映射习惯,int会映射为interger,str
阅读全文
摘要:Code First 顾名思义就是先代码,再由代码生成数据库的开发方式。废话不多说,直接来一发看看:在VS2010里新建一个空白解决方案,再依次添加两个类库项目:Model、DataAccess和一个控制台项目BreakAwayConsole。分别是实体、数据访问、控制台显示。项目结构图:详细介绍:1.实体类Model本类库下有两个类:Lodging(住宿类)、Destination(景点类)Lodging类定义: /// /// 住宿类 /// public class Lodging { public int LodgingId { get; set;...
阅读全文