EF是微软.NET平台官方的ORM(objet-relation mapping),就是一种对象-关系 映射,是将关系数据库种的业务数据用对象的形式表现出来,并通过面向对象的方式讲这些对象组织起来,实现系统业务逻辑的过程. DataBase First 开发方式 DataBase First 又叫数据库优先的开发方式,是一种比较旧的开发方式,现在越来越多的企业已经不再使用这种开发方式了.当然,对于一些旧项目进行升级,在已经有了数据库的情况下,使用此方式是十分方便的. 使用方法 (1)在项目中右键…
一.前言 1.Entity Framework概要 Entity Framework是微软以ADO.NET为基础所发展出来的对象关系映射(O/R Mapping)解决方案.该框架曾经为.NET Framework的一部分,但Version 6之后从.NET Framework分离出来,可通过NuGet获取. Entity Framework利用抽象化数据结构的方式,将每个数据库对象都转换成应用程序对象 (Entity),而数据字段都转换为属性 (Property),关系则转换为结合属性 (Ass…
作者:张博出处:http://yilin.cnblogs.com Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对于程序员没有哪种模式最好,只有哪种模式更适合.接下来我将分别使用这三种开发模式实现同一数据库模型的数据持久化功能.希望通过实践能帮助你找到更适合你的开发模式. Database First Database First开发模式指以数据库设计…
原文:ASP.NET Core 配置 Entity Framework Core - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 Entity Framework Core 上一章节学习完了视图,其实我们应该立即着手讲解模型的,但 ASP.NET Core MVC 中的模型和 Entity Framework 有相当大的关系,所以,在此之前,我们先来讲讲 Entity Framework Core 和如何配置它 本章中,我们将设置和配置我们的应用程…
一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原有的ado.net 数据访问方式. ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. 1.2 在C#中常用的ORM框架有: 1.NHibernate (从java的Hibernate延伸过来)2.Linq to SQL类 (只针对MSSQL数据库的)3.En…
一.什么是Entity Framework 1.1 实体框架(EF)是一个对象关系映射器,使.NET开发人员使用特定于域的对象与关系数据.它消除了需要开发人员通常需要编写的大部分数据访问代码.简化了原有的ado.net 数据访问方式. ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. 1.2 在C#中常用的ORM框架有: 1.NHibernate (从java的Hibernate延伸过来) 2.Linq to SQL类 (只针对MSSQL数据库的) 3.…
微软官方提供的ORM技术的实现就是EF(Entity Framework)框架.EF的模式有三种分别是:Database First  数据库先行 ,Model First 模型先行 , Code First 代码先行 , 最后介绍的就是POCO 它的全称:Plain Old CLR Object,简单传统的公共语言运行时对象. 这里简单介绍一下 Code First 模式:Code First是指“代码优先”或“代码先行”.这种方式在上下文设计模式中非常有用.使用Code First模式,可以…
1. Entity Framework的详细介绍: Entity Framework简称EF,与Asp.net关系与Ado.net关系. Entity Framework是ado.net中的一组支持开发面向数据的软件应用程序的技术,是微软的一个ORM框架. ORM:object relation mapping 是基于关系型数据库的数据储备,实现一个模拟的面向对象的数据访问接口,理想情况下,基于这样一个面向对象的接口,持久化一个oo对象应该不需要了解任何关系型数据库存储数据的实现细节. 类似的轻…
我们知道无论是"Database First"还是"Model First"当模型发生改变了都可以通过Visual Studio设计视图进行更新,那么对于Code First如何更新已有的模型呢?今天我们简单介绍一下Entity Framework的数据迁移功能. Entity Framework配置 在开始今天的话题之前先来看一下Entity Framework的配置,因为有很多朋友因为配置文件的问题造成"Migrations"命令执行失败.…
目录 # 写在前面 一.开发环境 二.创建项目 三.安装程序包 四.创建模型 五.连接字符串 六.编辑程序 七.数据迁移 写在最后 # 写在前面 这几天,一直都在学习Entity Framework 的Code First 开发模式.然后,一直在填坑的路上渐行渐远~又因为平时工作的原因,对于EF的学习时断时续的~ 今天,使用程序台应用的方式来使用EF的Code First 的开发模式.本来是想使用Web Mvc 的方式使用Code First,后来发现,在Visual Studio 2019中使…
提示:VS版本2013,  Entity Framwork版本5.0.0,Mysql数据库  使用Entity FrameWork的好处就不多说,直接上手如何使用.两种形式:1.将代码映射到数据库实体,使用的是Code First技术.2.将数据库实体转成代码,使用的是Reverse Engineer Code Fist技术. 一.Code First技术 1.建好项目,并加入一个名为CodeFirstDemo控制台应用程序项目. 2.配置.工具>>库程序包管理>>管理解决方案的N…
目录 概述 基于 .NET Core 的 EF Core 入门 创建新项目 更改当前目录 安装 Entity Framework Core 创建模型 创建数据库 使用模型 基于 ASP.NET Core 的 EF Core 入门 创建新项目 安装 Entity Framework Core 创建模型 使用依赖注入注册上下文 创建数据库 创建控制器 运行此应用程序 概述 Entity Framework (EF) Core 是轻量化.可扩展.开源和跨平台版的常用 Entity Framework…
上一篇文章介绍了.NET Entity Framework ,并演示了Model First模式,本文将继续讨论 Code First 模式的实现. 一.摘要 1.目标 本文验证了通过Oracle Data Provider for .NET (ODP.NET)使用Entity Framework (EF) Code First.先创建.NET类,通过框架在数据库中创建这些类对应的表:修改这些类,并通过Code First 将这些类的变化移植和映射到对应表中. 2.前言 Entity Frame…
从开始学习使用MVC以后,同时也开始接触EF,很多原理都不是太懂,只知道安装了EF以后,点击哪里可以生成数据库对应的Model,不用再自己手写Model.这里记录的就是如何从已建立好的数据库生成项目代码中的Model.一是记录这种操作方式,二是方便那些和我一样的菜鸟同学快速生成Model.(其中的问题希望园里的大侠们给予指点!) 第一步:安装Entity Framework Power Tools Beta 4,打开VS2013——工具——扩展与更新 第二步:选择左边菜单的联机——在右上的搜索栏…
一.前面一篇EF的介绍主要是通过linq语句,本篇主要是介绍一下不通过linq语句如何去操作EF执行查询sql语句与执行存储过程. 1.  其中的Acccout是输出参数对应的类.比如输出参数有三个值,分别是id,name,age,那么我们就需要定义一个可以存放三个列的类.  并且其中P=>ture 是匿名函数,去查询出当前中所有的.其中的list是相当于一条查询语句. 2 . 介绍一些常用的查询.不加OrDefault如果有多列,会抛出异常. 3. 介绍EF 操作SQL语句,先构建一个上下文.…
public IEnumerable<Statistic> GetStatistics(IEnumerable<Guid> itemIds) { var ctx = new DBContext(); return ctx.Database.SqlQuery<Statistic>("[dbo].[ItemStatisticsSelect] @Items, @IsPostModeration", new SqlParameter("Items&…
本文转自:http://www.cnblogs.com/xchit/p/3334782.html 目前,EF对存储过程的支持并不完善.存在以下问题:        EF不支持存储过程返回多表联合查询的结果集.        EF仅支持返回返回某个表的全部字段,以便转换成对应的实体.无法支持返回部分字段的情况.        虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程        EF不能直接支持存储过程中O…
目前,EF对存储过程的支持并不完善.存在以下问题: EF不支持存储过程返回多表联合查询的结果集. EF仅支持返回返回某个表的全部字段,以便转换成对应的实体.无法支持返回部分字段的情况. 虽然可以正常导入返回标量值的存储过程,但是却没有为我们自动生成相应的实体.cs代码,我们还是无法在代码中直接调用或使用标量存储过程 EF不能直接支持存储过程中Output类型的参数. 其他一些问题. 今天我们利用EF执行sql语句的方式来执行存储过程,并得到OutPut的值. 首先新建存储过程: Create P…
做个记录: var pCount = this._dataProvider.GetParameter(); pCount.ParameterName = "totalCount"; pCount.Direction = ParameterDirection.Output; pCount.DbType = DbType.Int32; var list = this._dbContext.SqlQuery<User>("exec P_GetList @totalCou…
在使用Entity Framework 实体框架的时候,我们大多数时候操作的都是实体模型Entity,这个和数据库操作上下文结合,可以利用LINQ等各种方便手段,实现起来非常方便,一切看起来很美好.但是如果考虑使用WCF的时候,可能就会碰到很多相关的陷阱或者错误了.因为实体模型Entity的对象可能包括了其他实体的引用,在WCF里面就无法进行序列化,出现错误:而且基于WCF的时候,可能无法有效利用Express表达式,无法直接使用LINQ等问题都一股脑出现了.本文基于上面的种种问题,阐述了我的整…
在EF实体框架中进行日志跟踪,一般都是自己写个Log实体类,在数据保存时进行属性原始值验证来进行日志跟踪.当然还可以使用一些第三扩展库例如:entity framework extended进行日志记录,本文介绍如何使用TrackerEnabledDbContext进行操作日志跟踪. 1,首先创建项目工程,TrackerEnabledDbContext只支持4.5及以上框架,详情见:https://www.nuget.org/packages/TrackerEnabledDbContext 2,…
在使用Entity Framework 的Database frist或model first时,直接加attribute到modle类上是太现实也不合理的,因为model类是自动生成的,重新生成后会覆盖自己的修改.一个比较合理 做法,就是用 partial class的方式来实现. 比如有一个Model类: Movie.那我们就可以添加一个局部类文件,局部类的内容如下: using System.ComponentModel.DataAnnotations; namespace Movies.…
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创…
本文主要的目的是 1. 说明Entity Framework Power Tools如何使用. 2. Entity Framework  快速门 实验环境: OS: Windows Server 2012, Windows 7 DE: VS2013 + MVC 6.0+Entity Framework+ SQL Server 2012 准备工作 基于现有数据库生成POCO数据类和数据库上下文需要借助Visual Studio一个扩展插件-- Entity Framework Power Tool…
继续上一篇<开发 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.自定义数据库链接字符串上下文 public class PetDbContext : DbContext { public PetDbContext() : base("name=DemoDB") { } public DbSet<Dog> Dogs { get; set; } } 2.Code First 模型迁移相关命令 Enable-Migrations 启用模型迁移,会自动建立Migrations文件夹,里面记录模型修改历史 Add-Migration AddT…
概要 Entity Framework缩写EF,微软ORM产品. 本篇博客将简单的介绍它,至于它的详细深层次的使用,大家能够查询对应的操作手冊,该篇不过入门. Entity Framework和Linq to Sql的关系 大家都知道Linq to Sql是微软ORM思想的一个详细产品.Entity Framework也是它的一个详细产品,那么,这两个产品有什么差别呢? Linq to Sql是ORM思想实现的一个轻量级的框架,Entity Framework是一个重量级框架: Linq to…
云优化的概念.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…
在这章中,我们将学习如何创建一个管理图片的新实体,如何使用HTML表单上传图片文件,并使用多对多关系将它们和产品关联起来,如何将图片存储在文件系统中.在这章中,我们还会学习更加复杂的异常处理,如何向模型添加自定义错误,然后向用户显示错误信息.在本章使用的产品图片可以在Apress站点中的第6章的代码中获得. 注意:如果你想按照本章的代码编写示例,你必须完成第五章或者直接从www.apress.com下载第五章的源代码. 6.1 创建一个用于存储图片名称的实体 对于本项目,我们打算使用文件系统将图…
小分享:我有几张阿里云优惠券,用券购买或者升级阿里云相应产品最多可以优惠五折!领券地址:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=ohmepe03 Entity Framework技术是我觉得在.NET平台上用起来最得心应手的数据访问技术,它集成于.NET Framework框架,与.NET的其他技术进行无缝结合,并且使用简单,开发效率高,运行效率也不赖,你真的值得拥有. 本系列文章中,我…