很久之前就想写这篇文章了,但是由于种种原因,没有将自己学习的EF知识整理成一片文章.今天我就用CodeFirst和ModelFirst两种方式的简单案例将自己学习的EF知识做个总结. 在讲解EF之前,我们先来看下ORM ORM全称:(Object-Relation Mapping)即对象-关系映射.ORM是将关系数据库中的业务数据用对象的形式表现出来,并通过面向对象的方式将这些对象组织起来,实现系统业务逻辑的过程. ORM简介: ORM产生背景: 操作数据库代码的重复性 在ORM之前我们知道通过…
这是今天在实际开发中遇到的一个问题,需求是查询未分类的博文列表(未加入任何分类的博文),之前是通过存储过程实现的,今天用EF实现了,在这篇博文中记录一下. 博文的实体类BlogPost是这样定义的: public class BlogPost { public int Id { get; set; } public string Title { get; set; } //.... public ICollection<BlogCategory> Categories { get; set;…
其中 通用类名:DBhelper 实体类:UserInfo 1 //新增 2 DBHelper<UserInfo> dbhelper = new DBHelper<UserInfo>(); 3 UserInfo userinfo = new UserInfo(); 4 userinfo.Name = "1"; 5 dbhelper.Add(userinfo); 6 7 //根据条件查找列表 8 var entityes = dbhelper.FindList(x…
//默认为: Database.SetInitializer<testContext>(null);//这里报错, 检查原因:catch(Exception ex) 错误提示: 基础连接未打开open 数据库 还有另外的原因,网上查到分享给大家 策略一:数据库不存在时重新创建数据库 复制内容到剪贴板 程序代码 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testContext>()…
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以跳过本章. 本章将带你漫游使用实体框架建模的基本实例,建模是实体框架的核心特性,同时也是区别实体框架和微软早期的数据访问平台的特性.一旦建好模,你就可以面向模型编写代码,而不用面向关系数据库中的行和列. 本章以创建一个简单概念模型的实例开始,然后让实体框架创建底层的数据库,剩下的实例,将向你展示,如…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 7-3  配置模型 问题 你想了解配置模型中的各种选项. 解决方案 当你添加一个ADO.NET实体数据模型到你的项目中时,实体框架设置.edmx文件的Build Acion属性为Entity Deploy.另外,设置元数据项目处理(Metadate Artifact Processing)为“嵌入输出程序集中”(Embed in Output Assembly).当你编译项目时,Entity…
最近做了一些Java Web开发,发现每次修改完java或者其他文件后tomcat都会重新加载一次项目,很耽误事,如何禁用Tomcat自动重启呢, 找到server.xml中的这一行,把其中的 reloadable 改为 false 即可 <Context docBase="goldtrade-console" path="/" reloadable="false" source="org.eclipse.jst.jee.serv…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 5-2  预先加载关联实体 问题 你想在一次数据交互中加载一个实体和与它相关联实体. 解决方案 假设你有如图5-2所示的模型. 图5-2 包含Customer和与它相关联信息的实体 和5-1节一样,在模型中,有一个Customer实体,一个与它关联的CustomerType和多个与它关联的CustomerEamil.它与CustomerType的关系是一对多关系,这是一个实体引用(译注:Cu…
Add(Object) 以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库.使用State设置单个实体的状态. Add<TEntity>(TEntity) 以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的可访问实体,以便在调用SaveChanges()时将它们插入数据库.使用State设置单个实体的状态. AddAsync(Object, CancellationToken) 以添加状态开始跟踪给定的实体和任何其他尚未被跟踪的…
因为项目需求,现在需要利用EF 操作由Arccatalog生成的sql server空间数据库..在此之前,一直没有接触过空间数据库,在操作空间数据库时 绕了许多弯... 因此写一篇随笔做一个总结.  首先,我们了解一下空间数据库:空间数据库是指地理信息系统在计算机物理存储介质上存储的与应用相关的地理空间数据的总和,一般是以一系列特定结构的文件的形式组织在存储介质之上的.  在微软的官方文档中,有详细关于空间数据的介绍  https://docs.microsoft.com/zh-cn/sql/…
随着EF5的发布,新增了对数据库(SQL Server) UDF的支持,具体可以看以下的连接:https://msdn.microsoft.com/en-us/data/hh859577.aspx,新发布的EF6也继承了这个特性.问题是这个UDF貌似只是针对TVF-Table Value Function,在尝试导入一个SCALAR Function的时候,很可惜,该function不能被导入. 原因就是在EF6的版本里还没有对Scalar Function做支持...... 但是也有相应的wo…
起因 因为实习的原因,程序之中用到了较多的数据库操作逻辑.如果每一处数据库操作都手写的话,工作量较大且后期不易于维护,所以希望能通过 ORM 框架来解决这两个问题. 在昨天之前,对于 ORM 这个词汇,我也仅仅只是在上个学期的 Java EE 课上看企业老师"神速"地使用 Hibernate 做了建立数据库.插入数据的演示. 这两天花了很多时间了解 Entity Framework,终于在今晚成功地实现了"查插删改",中间经过了很多的波折.例如:查找的很多资料提供的…
Entity FrameWork(实体框架)是以ADO.NET Entity FrameWork ,简称为EF Entity FrameWork的特点 1.支持多种数据库(MSSQL.Oracle.Mysql和DB2) 2.强劲的映射引擎,能很好地支持存储过程 3.提供Visual Studio集成工具,进行可视化操作 4.能够与ASP.NET.WPF.WCF Data Services进行很好的集成 EF的优缺点 EF的优点 1.极大地提高开发效率,开发代码都是强类型的,写代码效率非常高,自动…
  1 Nhibernate 展示了NHibernate在数据库和用程序之间提供了一个持久层. 应用程序自己提供ADO.NET连接,并且自行管理事务.NHibernate体系结构如图1-51所示.它体现了NHibernate如何使用数据库和配置文件数据来为应用程序提NHibernate 供持久化服务(和持久化的对象). SessionFactory(NHibernate.IsessionFactory):它是Session的工厂,是ConnectionProvider的客户.可以持有一个可选的(…
在之前的文章中,你已经学习了怎样实现每一个层次结构一个表继承. 本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时能够利用的高级功能. 在本节中你将重用之前已经创建的页面,接下来你须要新建一个页面并使用原始SQL来批量更新数据库中全部Course的学分. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvam9obnNvbmJsb2c=/font/5a6L5L2T/fontsize/400/fil…
实体框架(Entity Framework)简介 简称EF 与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,最新版本是EF7[CodeOnly功能得到了更好的支持] 实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术.是微软的一个ORM框架. 什么是O/R Mapping 广义上,ORM…
第7章 高级概念 The Code First modeling functionality that you have seen so far should be enough to get you up and running with most applications. However, Code First also includes some more advanced functionality that you may require as your needs advance.…
http://www.cnblogs.com/sansi/archive/2012/10/18/2729337.html Programming Entity Framework 第二版翻译索引 你可以使用各种方法查询实体数据模型.你选择有些方法是因为个人喜好,而其它的则是因为你可以利用特殊的效益.你很有可能已经听过LINQ to Entities和Entity SQL.你可以使用特殊的方法去查询,比如某些基于LINQ,而其它的基于EF的ObjectQuery类.这此查询方法中的每一个都会产生具…
实体框架(Entity Framework) 实体框架(Entity Framework)简介 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案,早期被称为 ObjectSpace,最新版本是EF6.0[CodeOnly功能得到了更好的支持] 实体框架Entity Framework 是 ADO.NET 中的一组支持开发面向数据的软件应用程序的技术.是微软的一个ORM框架. EF插入实体 步骤:定义要…
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…
ASP.NET MVC深入浅出系列(持续更新)   一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模式,ViewState功不可没,通过的控件的拖拽和绑定,很快就可以搭建出来一个Web项目,其开发速度远胜Java.PHP,当年Web项目并不很重视体验,没有今天响应式,没有各种前端js框架,所以在当年的WebForm,微软是以引以为豪的. 该框架毕竟有时代局限性,随着前端的崛起,随着人们对项目体验的…
为了方便大家的阅读和学习,也是响应网友的建议,在这里为这个系列做一个目录.在目录开始这前,我先来回答之前遇到的几个问题. 1.为什么要学习EF? 这个问题很简单,项目需要.这不像学校,没人强迫你学习! 我学习EF的原因主要是: a.EF是微软推荐的数据库访问技术: b.能提高我的开发效率,我不喜欢写那密密麻麻的SQL: c.比我写的SQL更合理,更快.目前EF生成的SQL的质量已经很高了.你比较熟悉SQL的话,那它在速度上肯定比不上你,新手的话就别跟我争快慢了,能写一像样的SQL就不错了.至少我…
继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-host测试,但是官方说运行环境的MONO版本至少需要3.4.1,我去年买了个表,至本文发布为止,你让我下地狱去找3.4.1吗,硬着头皮用3.4.0搞了一晚上,MAC一直停留在 httpapi.dll出错,Ubuntu Server 12.0.4 是不认其中的几个DLL包,具体哪几个也忘了,过段时间有了稳定版本再…
1. 安装Entity Framework 使用NuGet安装Entity Framework程序包:工具->库程序包管理器->程序包管理器控制台,执行以下语句: PM> Install-Package EntityFramework 2. Entity Framework数据库连接配置 安装了Entity Framework之后,会自动添加App.config 文件.该文件中配置了Entity Framework的DefaultConnectionFactory,修改数据库连接字符串之…
Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件开发整个生命周期的多语言环境. Visual Studio以及它发布的工具和服务提供了:设计.开发.单元测试.调试.软件配置和管理.构建管理和持续集成等等.很少有开发人员因为还没有使用它而担心(注:作者应该是表达不用担心VS的能力),Visual Studio是一个完整的工具集.Visual Stu…
2-6 拆分实体到多表 问题 你有两张或是更多的表,他们共享一样的主键,你想将他们映射到一个单独的实体. 解决方案 让我们用图2-15所示的两张表来演示这种情况. 图 2-15,两张表,Prodeuct 和ProductWebInfo,拥有共同的主键 按下面的步骤为这两张表建模一个单独实体: 1.在你的项目中,创建一个继承至DbContext的上下文对象EF6RecipesContext: 2.使用代码清单2-8创建一个POCO实体Product: 代码清单2-8:创建一个POCO实体Produ…
AppBox 是基于 FineUI 的通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块. Attach方法 前面我们已经多次使用Attach方法,上一次使用Attach方法修改用户所属部门的代码如下所示: if (String.IsNullOrEmpty(hfSelectedDept.Text)) { item.Dept = null; } else { int newDeptID = Convert.ToInt32(hfSelectedDept.Text); i…
葡萄牙的一位开发者 Ricardo Peres 最近发布了一篇文章,以看起来无偏见的形式对领先的两种 .NET ORM:NHibernate 和 Entity Framework 进行了比较. 我们建议考虑使用这两种框架的人都应该读下他的文章,NHibernate 和 Entity Framework 之间的区别,另外还将指出一些关键的区别. 从架构上看,NHibernate 基于 Java 的 Hibernate ORM. Ricardo 写道: 在 NHibernate 中,工作单元和配置项…
云优化的概念.Entity Framework 7.0.简单吞吐量压力测试 继续上一篇<开发 ASP.NET vNext 初步总结(使用Visual Studio 2014 CTP1)>之后, 关于云优化和版本控制: 我本想做一下MAC和LINUX的self-host测试,但是官方说运行环境的MONO版本至少需要3.4.1,我去年买了个表,至本文发布为止,你让我下地狱去找3.4.1吗,硬着头皮用3.4.0搞了一晚上,MAC一直停留在 httpapi.dll出错,Ubuntu Server 12…