Entity Framework 架构 EDM(Entity Data Model)EDM由3个主要部分组成 Conceptual model , Mapping and Storage model. 1.Conceptual model:概念模型,包含实体类型和它们之间的关系,与数据库的表设计独立开 2.Storage Model:存储模型,数据中的表.视图.存储过程.外键关系 3.Mapping:映射关系,包含概念模型与存储模型的映射 4. LINQ to Entities: 用来查询实体对…
First/FirstOrDefault: using (var ctx = new SchoolDBEntities()) { var student = (from s in ctx.Students where s.StudentName == "Student1" select s).FirstOrDefault<Student>(); } 对应的sql语句如下 ) [Extent1].[StudentID] AS [StudentID], [Extent1].[S…
在之前的文章中,你已经学习了如何实现每个层次结构一个表继承.本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时可以利用的高级功能. 在本节中你将重用之前已经创建的页面,接下来你需要新建一个页面并使用原始SQL来批量更新数据库中所有Course的学分. 在Department Edit页面中添加新的验证逻辑并使用非跟踪查询. 执行原始SQL查询 Entity FrameworkCode First API包含有可以让你直接向数据库发送SQ…
在之前的文章中,你已经学习了怎样实现每一个层次结构一个表继承. 本节中你将学习使用Entity Framework Code First来开发ASP.NET web应用程序时能够利用的高级功能. 在本节中你将重用之前已经创建的页面,接下来你须要新建一个页面并使用原始SQL来批量更新数据库中全部Course的学分. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvam9obnNvbmJsb2c=/font/5a6L5L2T/fontsize/400/fil…
作者:张博出处:http://yilin.cnblogs.com Entity Framework支持Database First.Model First和Code Only三种开发模式,各模式的开发流程大相径庭,开发体验完全不一样.三种开发模式各有优缺点,对于程序员没有哪种模式最好,只有哪种模式更适合.接下来我将分别使用这三种开发模式实现同一数据库模型的数据持久化功能.希望通过实践能帮助你找到更适合你的开发模式. Database First Database First开发模式指以数据库设计…
下面,我们学习Entity Framework怎么管理实体间的关系 Entity Framework支持三种关系:一对一的关系.一对多的关系.多对多的关系 前面我们创建SchoolDB的实体数据模型,下图展示了EDM可视化设计器中的实体和实体关系  一对一的关系 上图所示,Student和StudentAddress是一对一的关系,一个学生可以有一个或零个地址,Entity Framework添加Student的导航属性到StudentAddress实体中,添加StudentAddress导航属…
一.结构体系 1.编译 编译器的结构相对保守. 提供源文件,其文本被标记化并解析为抽象语法树. 这里执行语法级检查. 一旦解析了所有引用的源文件,就构造一个程序并从AST初始化. 在这里进行合理性检查. 然后,程序及其元素充当代码生成中的中间表示,包含解析类型,标识符,属性访问等所需的所有信息. 然后,执行将程序元素编译到Binaryen模块. 在此处执行对单个语句和表达式的最终检查. 默认情况下,编译从入口文件导出开始,然后遍历可访问的程序元素(也称为“树抖动”). 在编译器级别上这样做可以提…
当我们执行CRUD(Create,Read,Update,Delete)操作之前,最重要的是搞明白实体的生命周期和EntityFrameword怎么管理实体 在一个实体的生命周期里,每个实体都有一个实体状态(基于上下文DbContext执行的操作),实体状态是一个枚举类型System.Data.Entity.EntityState 包含以下值: 1.Added 2.Deleted 3.Modified 4.Unchanged 5.Detached 这个上下文Context不仅拥有从数据库中查询出…
这里介绍在ASP.NET Core中使用EF Core,这里数据库选的是Sql Server 如何使用Sql Server 添加模型 && 数据库迁移 查询数据 保存数据 如何使用Sql Server  1. 安装dotnet-ef(已经安装忽略) dotnet tool install --global dotnet-ef 2. 添加包Microsoft.EntityFrameworkCore.Design dotnet add package Microsoft.EntityFrame…
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…
用 Entity Framework  进行 增,删,改.都是基于Model进行的,且Model都是有状态追踪的.这样Entity Framework才能正常增,删,改. 有时候,要根据某个字段,批量更新或者删除数据,用Entity Framework就会显得很是繁琐,且不高效. Entity Framework Plus 为Entity Framework 提供 BatchUpdate 和 BatchDelete 操作扩展.使得更新和删除数据,变得简单而高效了许多. 废话不多说,直接实践给大家…
我们知道无论是"Database First"还是"Model First"当模型发生改变了都可以通过Visual Studio设计视图进行更新,那么对于Code First如何更新已有的模型呢?今天我们简单介绍一下Entity Framework的数据迁移功能. Entity Framework配置 在开始今天的话题之前先来看一下Entity Framework的配置,因为有很多朋友因为配置文件的问题造成"Migrations"命令执行失败.…
前言 时间退回到 2009-09-26,为了演示开源项目 FineUI 的使用方法,我们发布了 AppBox(通用权限管理框架,包括用户管理.职称管理.部门管理.角色管理.角色权限管理等模块),最初的 AppBox 采用 Subsonic 作为 ORM 工具. 遗憾的是,Subsonic后来逐渐不再维护,我们于 2013-08-28 正式从 Subsonic 转到 Entity Framework,最初对 Entity Framework 接触只能用两个字来形容:惊艳!整个 AppBox 项目没…
To migrate your existing Entity Framework 4.x project to Entity Framework 5.0 using VS2012, first target .NET Framework 4.5: Second, remove the existing Entity Framework 4.1/4.3 reference and install Entity Framework 5.0 from NuGet: Search for Entity…
这是上周就写好的文章,是在公司浩哥的建议下写的,本来是部门里面分享求创新用的,这里贴出来分享给大家. 最近在对MVC的学习过程中,接触到了Code First这种新的设计模式,感觉很新颖,并且也体验到了这种方式所带来的便利.这里将我的一些理解分享出来. 需要了解的概念 Ÿ POCO POCO(Plain Old CLR Object)的概念是从java的POJO借用而来,而两者的含义是一致的,不同的仅仅是使用的语言不一样.所以POCO的解释就是“Plain Old C# Object”.POJO…
看完觉得不错,适合作为学习资料,就转载过来了 原文链接:http://www.cnblogs.com/Wayou/archive/2012/09/20/EF_CodeFirst.html 这是上周就写好的文章,是在公司浩哥的建议下写的,本来是部门里面分享求创新用的,这里贴出来分享给大家. 最近在对MVC的学习过程中,接触到了Code First这种新的设计模式,感觉很新颖,并且也体验到了这种方式所带来的便利.这里将我的一些理解分享出来. 需要了解的概念 Ÿ POCO POCO(Plain Old…
原文地址:http://www.cnblogs.com/frankofgdc/p/3600090.html Entity Framework学习笔记——错误汇总   之前的小项目做完了,到了总结经验和更新学习笔记的时间了.开始正题之前先啰嗦一下,对之前的学习目标进行一个调整:“根据代码生成表”与“生成数据库脚本和变更脚本”合并为“Code First模式日常使用篇”,增加现在这篇“错误汇总”,增加“Code First模式与其他模式混合使用与Fluent API篇”,“生成视图”因为这次在项目中…
前言 通过 “Entity Framework 6 学习笔记1 — 介绍和安装方法”文章我相信大家对EF的安装应该没什么问题了,整体安装还是比较简单的,只需要通过Nuge搜索EF然后安装就可以了,这也体现了微软一贯原则–“简单”. 安装完了我想很多朋友也着急想体验下EF的好处了吧,今天我就通过EF框架对增.删.改操作做一个简单示例. 创建表 这里我只是做示例所以就创建了一个表并且字段也很少.下面是sql语句,大家可以直接复制生成表结构.   CREATE TABLE Book   (   Id…
记录一次ef code first的学习记录 最近想做一套自己的框架,正在寻找合适的ORM,之前参照力软(很早之前的版本了)的底层代码,做了一套自己的增删改查, 但是使用起来总觉得缺了点什么? 所以决心找一个成熟的ORM框架,学习搭建,发现一下自己的不足 对了Nhibernate,Entity Framework以及SqlSugar等轻量级的框架,最后选择了Entity Framework(毕竟微软大厂,跟着大厂走) 1,首先新建一个项目,winform,mvc,控制台都可以,新建以后使用nug…
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…
目录 # 写在前面 一.开发环境 二.创建项目 三.安装程序包 四.创建模型 五.连接字符串 六.编辑程序 七.数据迁移 写在最后 # 写在前面 这几天,一直都在学习Entity Framework 的Code First 开发模式.然后,一直在填坑的路上渐行渐远~又因为平时工作的原因,对于EF的学习时断时续的~ 今天,使用程序台应用的方式来使用EF的Code First 的开发模式.本来是想使用Web Mvc 的方式使用Code First,后来发现,在Visual Studio 2019中使…
上一篇我们梳理了CodeFist的一般流程,本篇我们讨论如何在一套代码中,支持SQL Server和SQLite的切换.同时从本篇开始,我们从.NET Core 3.1 迁移到.NET 5.相信.NET 到了5这个版本,所有人都不会再怀疑某软跨平台的决心.而且SQL Server也从2017版本开始支持Linux.但是我相信在Linux上使用Visual Stuido Code时,搭配SQLite更能体现某软现任CEO崽卖爷田不心疼的精神.SQLite是非常常见的数据库,最大的特点就是零部署,以…
上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一些支持,其中就有一位同学就提出.熟悉了EntityFramework CodeFirst 原理,就可以用微软的工具来生产代码.是的,今天就来讲一下,由微软EntityFramework小组开发的为EntityFramework CodeFirst Visual Studio小插件 “Entity Frame…
继续之前设定的学习目标前,先来一篇小小的外篇.按照第一篇里的配置方式配置好的工程前两天还能正常工作,昨天却突然无法通过Add-Migration命令进行数据库的升级.错误信息如下: System.Data.Entity.Core.ProviderIncompatibleException: 从数据库中获取提供程序信息时出错.这可能是 Entity Framework 使用的连接字符串不正确导致的.有关详细信息,请查看内部异常并确保连接字符串正确. ---> System.Data.Entity.…
初次使用Entity Framework(以下简称EF),为了避免很快忘记,决定开日志记录学习过程和遇到的问题.因为项目比较小,只会用到EF的一些基本功能,因此先在此处制定一个学习目标:1. 配置EF(指定EF用哪个数据库,相信在大部分开发过程中都不会使用官方Demo中的LocalDb)2. 根据代码生成表(主要是一些特殊情况,比如希望自己设置string类型属性的长度,不想统一都是nvarchar(max))3. 生成视图(部分类其实希望生成成为视图,这样可以让数据库表设计更加符合范式,同时简…
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…
开始从头系统地学习Entity Framework,当前的稳定版本为6.1.3,Nuget主页 http://www.nuget.org/packages/EntityFramework/ 微软喜欢把Entity Framework和ASP.NET MVC放在一起来用,从Entity Framework的主页的所有者就可以看出来 当然,这两者也是紧密的结合在一起的,"新一代"Web开发框架和"新一代"的数据库ORM框架,结合起来用确实很舒服,和WebForm开发有很…
声明 :  数据库是Mysql,本人的程度只到会写sql语句(不会储蓄过程), c# 会基本的ADO.NET数据库访问,LINQ基础. 这篇只做个人学习|温习作用. 新手可以参考,也请高手指正错误, 感恩. Entity Framework (缩写EF) 是微软的一个框架.作用是处理面向对象与关系数据库的映射问题. 以往我们都是ADO.NET来访问数据库,connection.open() -> sql command ->  executenonquery | dataReader ->…
源码学习的重要性,再一次让人信服. ASP.NET MVC Application Using Entity Framework Code First 做MVC已经有段时间了,但看了一些CodePlex上的代码,仍然觉得需要学习的东西还很多,基本上功能都可以实现,但如果放弃去利用框架本身已经聚合与提供的便利性功能,那往往会事倍功半,即使实现,也不漂亮不专业,不舒服. 很多专业的东西都在那里,没事瞅瞅,不要动不动一上来就老三样,或者放弃好东西,用自己的老办法去经验性的解决,既然可以实现,那就要去找…
之前你已经学习了怎样处理并发异常,在本节中你将学习怎样实现继承. 在面向对象的编程中,你能够使用继承来重用代码.接下来你将改动Instructor和Student类,让它们派生自Person基类,该基类包括instructor和student共同拥有的属性如LastName.你不须要加入或改动不论什么WEB页面,可是你须要改动某些代码,这些改动会自己主动反映在数据库中. 映射继承到数据库的选项 School 数据模型中的Instructor和Student类有几个同样的属性: 如果你希望通过共享…