ADO.NET Entity Framework学习笔记(3)ObjectContext对象[转]   说明 ObjectContext提供了管理数据的功能 Context操作数据 AddObject 添加实体 将实体添加到集合中, 创建实体时,状态为EntityState.Detached 当调用AddObject将实体添加到Context时,状态为EntityState.Added myContext context = new myContext(); myTab r = new myTa…
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇”,增加现在这篇“错误汇总”,增加“Code First模式与其他模式混合使用与Fluent API篇”,“生成视图”因为这次在项目中…
上期回顾:Entity Framework 学习笔记(1) Entity Framework最主要的东西,就是自己创建的.继承于DbContext的类: /// <summary> /// Context相当于一个数据库 /// </summary> public class MusicContext : DbContext { //base("LocalDB")表示要用到config文件中的名为"LcoalDB"的连接字符串 public…
请注明转载地址:http://www.cnblogs.com/arhat 这篇文章老魏和大家分享一下Entity Framework的CRUD操作,在这之前呢,老魏先说一下老魏对EF的一个整体的认识,当然如果有不对的地方希望大家能够提出来,我们来一起的讨论一下. 老魏在经历了NHibernate这个ORM框架之后接触了EF这个在.NET平台上迟来的自家的ORM框架,从整体上看,其实这两个ORM框架的思想倒是很多是一样的,但是在使用了EF后,再发现有很多的操作比起NHibernate要强了不少,但…
之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇”,增加现在这篇“错误汇总”,增加“Code First模式与其他模式混合使用与Fluent API篇”,“生成视图”因为这次在项目中没有使用,最后研究后再写出来.通过项目实战,觉得EF并不像之前想象中的这么容易上手.问题不是EF设计的不好,EF使用起来其实相当便捷,多数数据库操作一两行代码就能搞定…
继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Data.Entity.Core.ProviderIncompatibleException: 从数据库中获取提供程序信息时出错.这可能是 Entity Framework 使用的连接字符串不正确导致的.有关详细信息,请查看内部异常并确保连接字符串正确. ---> System.Data.Entity.…
请注明转载地址:http://www.cnblogs.com/arhat 昨天晚上老魏配的机器终于到了,可是拿回来之后什么都组装好了,唯独差一个非常重要的组件"电源线",老魏那个汗啊.于是从朋友那里借来一根电源线终于折腾到凌晨两点多才把所有的软件和系统装好,今天早上顺便装了一个MAC(嘻嘻).最让老魏兴奋的是换了VS2013,在使用VS2013的时候感觉非常的不错,对EF的支持真的是大大的增强了,不用再跑到网上找这个插件那个插件的,直接通过T4文件来生成Context是实体类了.那么今…
请注明转载地址:http://www.cnblogs.com/arhat 哈哈!老魏回来了,4月份的内容开始更新了,由于3月份时间都在做项目,没有时间写了,那么4月份老魏会尽可能的多写点东西的.那么4月份的内容主要是EF和Linq了.至于NHibernate没有更新完,后面有时间的话老魏会更新的. 一.EF简介 EF的全称是Entity Framework,是微软推出的一款ORM框架,和Nhibernate的作用是一样的,但是出自微软之手那么肯定在兼容性上要非常的到家.虽然EF是个迟来的产品,但…
初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF(指定EF用哪个数据库,相信在大部分开发过程中都不会使用官方Demo中的LocalDb)2. 根据代码生成表(主要是一些特殊情况,比如希望自己设置string类型属性的长度,不想统一都是nvarchar(max))3. 生成视图(部分类其实希望生成成为视图,这样可以让数据库表设计更加符合范式,同时简…
请注明转载地址:http://www.cnblogs.com/arhat 从本章开始,老魏就介绍一下Entity Framework使用Linq来查询数据,也就是Linq To Entity.其实在Entity Framework中提供了3中查询方式,除了使用Linq还有Lambda表达式,EQL语句,其中EQL是用于复杂的查询,当Linq无法胜任的时候就要使用了EQL了,当然也可以使用存储过程.废话不多说,开始本章的内容. 在本章中查询的依然是Student和Clazz两张表,主要涉及到是单表…
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们使用了Linq对Entity Framework进行了一个查询,但是通过学习我们却发现了懒加载给我来的性能上的开销是很到的,尤其是在循环中,如果数据量不是很多的情况下还可以接受,如果数据量一旦大气来,那么这个效率则是影响非常大的.那该怎么办呢?其实在Entity Framwork中,除了提供了懒加载技术还提供了一个“贪婪加载”.那么什么是贪婪加载呢?从名字上看,就是非常的粗鲁的,一次性的吧相关的数据全部查询…
开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/ 微软喜欢把Entity Framework和ASP.NET MVC放在一起来用,从Entity Framework的主页的所有者就可以看出来 当然,这两者也是紧密的结合在一起的,"新一代"Web开发框架和"新一代"的数据库ORM框架,结合起来用确实很舒服,和WebForm开发有很…
Entity Framework  数据模型 Model 创建的使用: 开发环境:VS2012 数据库:SQL Server 2008 Entity Framework  版本:6.12 下面是新建的项目架构:(当然这是我的项目架构,只是参考) 1. 新建项目 新建一个控制台项目即可 :Future.LifeWillBetter.DAL.ForModel.ConsoleApplication 如图: 2.新建数据模型 右键点击Future.LifeWillBetter.DAL.ForModel.…
1.自定义数据库链接字符串上下文 public class PetDbContext : DbContext { public PetDbContext() : base("name=DemoDB") { } public DbSet<Dog> Dogs { get; set; } } 2.Code First 模型迁移相关命令 Enable-Migrations 启用模型迁移,会自动建立Migrations文件夹,里面记录模型修改历史 Add-Migration AddT…
今天开始学习了EF的相关内容,以前只知道ADO.NET,今天学习后觉得有必要写个相关的学习心得,今天就先写第一篇. 我们的再学习的过程中所用到的环境是Windows7+SQLServer2008+VS2012. ①下面我们便开始创建一个数据库名为Test,数据库里建立两张表Student和Class. ②之后打开VS2012新建一个控制台应用程序名为Demo1.之后在Demo1这个项目上右击添加新建项,选择ADO.NET实体数据模型,并命名为DataModel.edmx. ③选择从数据库中生成,…
请注明转载地址:http://www.cnblogs.com/arhat 在前几章中,老魏一直使用Linq来查询Entity Framework.但是老魏感觉,如果使用Linq的话,那么Linq的返回值类型有的时候不是很容易找出来,没有直接使用Lambda来的直观,至少在Lambda中我们可以指定返回的类型,这样一来就可以指定返回值了. 在本章的开始呢,老魏先复习一下.NET提供的几个常用的Lambda委托,而这些委托可以说是经常又得到的,尤其实在IEnumerable<T>和 IQuerya…
1.通过 VS2013 下载,这个没有限制,因为我用的vs是2013 Entity Framework包…
关于Entity Framework  数据模型 的开发有三种模式:1.引用数据库方式:2.在VS中新建EF空模型Model 方式:3.Code 方式 Entity Framework  数据模型  引用"引用数据库方式"进行开发创建的使用,具体如下: 开发环境:VS2012 数据库:SQL Server 2008 Entity Framework  版本:6.12 1.新建数据库 在数据库中新建数据库,并创建数据表,以下截图只供参考: 2.新建项目 在VS中新建一个控制台应用程序 F…
学习描述:用EF就像是省略了做实体类和DAL类,感觉是很方便,废话不多说,直接写步骤: 1.创建EF的edmx文件 这个其实在笔记1已说过,不过有些细节也要说,所以再说一遍,这里使用的是EF 6.1版本的. 建了个商品表,创建文件之前,要有一个数据表,我在本地建个xitong数据库,建了个商品表,如下: CREATE TABLE [dbo].[xt_product]( ,) NOT NULL, ) COLLATE Chinese_PRC_CI_AS NULL, ) COLLATE Chinese…
解决方法:我本来也没有,百度了一下,在C:\ProgramData\Package Cache\{08AEF86A-1956-4846-B906-B01350E96E30}v12.0.20912.0\packages\EFTools,运行后点Repaire,如果没找到,就在Package Cache里搜索EFTools. 然后找EF:在项目里添加 - 新建项 - 数据 - ADO.NET实体数据模型 ,就是EF了. 网上还有种安装方法,在VS工具里,点工具 - NuGet程序管理器 里面找,不过…
MSDN: http://msdn.microsoft.com/en-us/data/aa937723 台湾博客: http://www.dotblogs.com.tw/yc421206/ http://www.dotblogs.com.tw/terrychuang/archive/2013/03/25/98832.aspx Entity Framework 5.0系列 http://www.cnblogs.com/kenshincui/category/511593.html Entity F…
MSDN: http://msdn.microsoft.com/en-us/data/aa937723 台湾博客: http://www.dotblogs.com.tw/yc421206/ http://www.dotblogs.com.tw/terrychuang/archive/2013/03/25/98832.aspx Entity Framework 5.0系列 http://www.cnblogs.com/kenshincui/category/511593.html Entity F…
提供了对数据访问的一种抽象层,是更加易于以编程的方式来操作及管理数据 有以下几种模式:Model First, Database First, and Code First 现在主要讨论code First这种模式 Conceptual Schema Defi nition Language (CSDL), the Storage Schema Defi nition Language (SSDL), and theMapping Schema Language (MSL)提供了实体类和数据库之…
Entity Framework 学习初级篇1--EF基本概况 Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager类的介绍 Entity Framework 学习初级篇3-- LINQ TOEntities Entity Framework 学习初级篇4--EntitySQL Entity Framework 学习初级篇5--ObjectQuery查询及方法 Entity F…
ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案, 早期被称为 ObjectSpace,现已经包含在 Visual Studio 2008 Service Pack 1 以及 .NET Framework 3.5 Service Pack 1 中发表.   简介 ADO.NET Entity Framework 以 Entity Data Model (EDM) 为主,将数据逻辑层切分为三块,分别为…
最近重新查看微软MvcMusicStore-v3.0的源代码,发现忽略了很多重要的东西,特别是数据访问那一部分. 首先Microsoft SQL Server Compact 4.0 详细的介绍和下载地址 链接:http://www.microsoft.com/zh-cn/download/details.aspx?id=17876 Microsoft SQL Server Compact 4.0 是一种免费的嵌入式数据库,软件开发人员可以使用它来构建 ASP.NET 网站和 Windows 桌…
Entity Framework 学习初级篇2--ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager类的介绍 本节,简单的介绍EF中的ObjectContext.ObjectQuery.ObjectStateEntry.ObjectStateManager这个几个比较重要的类,它们都位于System.Data.Entity.dll下的System.Data.Objects命名空间下.在后续的章节中,我们经常会用到它们的某些方…
### Programming Entity Framework-dbContext 学习笔记 第五章 将图表添加到Context中的方式及容易出现的错误 方法 结果 警告 Add Root 图标中的所有实体将被跟踪,并标记为Added SaveChage 将试图将所有实体插入数据库,即使数据库中已存在该实体 Attach Root 所有实体将被跟踪并标记为Unchanged 新添加的实体将不会被插入数据库,并容易造成主键冲突 Add or Attach Root,then paint stat…
如写的不好请见谅,本人水平有限. 个人简历及水平:. http://www.cnblogs.com/hackdragon/p/3662599.html 接到一个程序和网页交互的项目,用ADO.NET Entity Framework (以下简称EF)很快就搞完了,但是对方的空间提供的MSSQL数据库比较昂贵,所以就采用ACCESS数据库,但是我查了资料发现 EF不支持Access数据库,(以前觉得LINQ TO SQL 不支持 这个应该支持),写完的代码不想用OLEDB在写了,于是网上一顿查,试…
自从ADO.NET Entity Framework面世以来,受到大家的热捧,它封装了大量代码生成的工具,用户只需要建立好实体之间的关系,系统就是会为用户自动成功了Add.Delete.CreateObject.Attach.ToList......等等方法,这些方法基本上已经包含获取.删除.插入等基本方法,使用起来非常方便.只是在实体的更新上,由于LINQ面向的是泛型对象T,所以每个对象的更新方法都要由用户自动编辑.有见及此,下面在下利用反射方法,创建了一个更新工具,此工具可以更新Object…