10 2013 档案

摘要:Entity Framework Code First通过DbContext.ChangeTracker对实体对象的变动进行跟踪,实现跟踪的方式有两种:变动跟踪快照和变动跟踪代理。 变动跟踪快照:前面几篇随笔的示例都是通过实体对象变动快照跟踪来实现数据操作的,POCO模型不包含任何逻辑去通知Entity Framework实体类属性的变动。Entity Framework在第一次对象加载到内存中时进行一次快照,添加快照发生在返回一次查询或添加一个对象到DbSet中时。当Entity Framework需要知道对象的变动时,将先把当前实体与快照中的对象进行扫描对比。实现扫描对比的方法是调用... 阅读全文
posted @ 2013-10-26 21:32 libingql 阅读(8453) 评论(0) 推荐(5) 编辑
摘要:1、添加外键关联实体 1>、添加新的Province及City实体using (var ctx = new PortalContext()){ var city1 = new City { CityNo = "10010", CityName = "测试城市1" }; var city2 = new City { CityNo = "10020", CityName = "测试城市2" }; var province = new Province { ProvinceNo... 阅读全文
posted @ 2013-10-26 00:10 libingql 阅读(9728) 评论(1) 推荐(1) 编辑
摘要:对于一个单独实体的通常操作有3种:添加新的实体、修改实体以及删除实体。 1、添加新的实体 Entity Framework Code First添加新的实体通过调用DbSet.Add()方法来实现。using (var ctx = new PortalContext()){ var province = new Province { ProvinceNo = "100000", ProvinceName = "测试" }; ctx.Provinces.Add(province); ctx.SaveChanges();} 代码运... 阅读全文
posted @ 2013-10-25 19:58 libingql 阅读(6195) 评论(0) 推荐(1) 编辑
摘要:在项目过程中,两个实体数据之间在往往并非完全独立的,而是存在一定的关联关系,如一对一、一对多及多对多等关联。存在关联关系的实体,经常根据一个实体的实例来查询获取与之关联的另外实体的实例。 Entity Framework常用处理数据关联加载的方式有3种:延迟加载(Lazy Loading)、贪婪加载(Eager Loading)以及显示加载(Explicit Loading)。 1、延迟加载(Lazy Loading) 延迟加载是项目应用中常见的方式,Entity Framework在需要时可以自动为一个实体的实例获取关联的数据。 Entity Framework自动延迟加载需要满... 阅读全文
posted @ 2013-10-21 22:44 libingql 阅读(7437) 评论(3) 推荐(10) 编辑
摘要:DbContext、DbSet及DbQuery是Entity Framework Code First引入的3个新的类,其中DbContext用于保持数据库会话连接,实体变化跟踪及保存,DbSet用于暂存实体类的变化跟踪,DbQuery用于提供查询跟你。 1、使用Set查询全部记录 使用DbContext查询首先需要保证DbContext的实例在使用完之后对资源的释放,释放DbContext实例资源的方法有两种:采用using代码块结构和调用DbContext实例的Dispose()方法。using (var ctx = new PortalContext()){ foreach... 阅读全文
posted @ 2013-10-16 21:56 libingql 阅读(12423) 评论(0) 推荐(6) 编辑
摘要:1、Entity Framework Code First查询视图 Entity Framework Code First目前还没有特别针对View操作的方法,但对于可更新的视图,可以采用与Table一样的方式进行插入、修改、删除及查询。在实际的项目过程中,视图多只用于进行查询。 Entity Framework Code First查询视图示例: 使用到的表及视图结构如下: 文件类VCity.cs:using System;using System.Collections.Generic;namespace Portal.Models{ public class VCity ... 阅读全文
posted @ 2013-10-12 20:41 libingql 阅读(18906) 评论(5) 推荐(8) 编辑
摘要:本篇随笔目录: 1、外键列名默认约定 2、一对多关系 3、一对一关系 4、多对多关系 5、一对多自反关系 6、多对多自反关系 在关系数据库中,不同表之间往往不是全部都单独存在,而是相互存在关联的。两个不同表之间可以存在外键依赖关系,一个表自身也可以有自反关系(表中的一个字段引用主键,从而也是外键字段)。 Entity Framework Code First默认多重关系的一些约定规则: 一对多关系:两个类中分别包含一个引用和一个集合属性,也可以是一个类包含另一个类的引用属性,或一个类包含另一个类的集合属性。如在本篇接下来用到的例子Category类和Product类,要使... 阅读全文
posted @ 2013-10-05 23:37 libingql 阅读(35217) 评论(15) 推荐(38) 编辑
摘要:Entity Framework Code First与数据表之间的映射方式有两种实现:Data Annotation和Fluent API。本文中采用创建Product类为例来说明tity Framework Code First属性映射约定的具体方式。1. 表名及所有者 在默认约定的情况下... 阅读全文
posted @ 2013-10-05 00:27 libingql 阅读(31895) 评论(7) 推荐(22) 编辑
摘要:1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器->程序包管理器控制台,执行以下语句:PM> Install-Package EntityFramework2. Entity Framework数据库连接配置 安装了En... 阅读全文
posted @ 2013-10-04 10:07 libingql 阅读(23649) 评论(3) 推荐(20) 编辑
摘要:Entity Framework Code First学习系列说明:开发环境为Visual Studio 2010 + Entity Framework 5.0+MS SQL Server 2012,在数据库方面Entity Framework Code First在Entity Framework 阅读全文
posted @ 2013-10-03 01:18 libingql 编辑

点击右上角即可分享
微信分享提示