摘要: 我在Entity Framework系列文章的CRUD上篇中介绍了EF的数据查询,中篇谈到了EF的数据更新,下篇则聊聊EF实现CRUD的内部原理。跟踪实体对象状态在CRUD上篇和中篇谈到,为了实现提取和更新数据的功能,EF必须使用某种机制来跟踪实体对象,以便依据对象当前状态生成相应的SQL命令。这里的关键是区分清楚内存中的数据实体对象和数据库中的记录。当程序运行时,位于内存中的EF数据实体可以处于... 阅读全文
posted @ 2015-04-28 14:09 随梦而飞 阅读(1192) 评论(0) 推荐(1) 编辑
摘要: 如果是独立的实体对象,在底层数据库中它对应一张独立的表,那么,对它进行新建、删除和修改没有任何难度,实在不值浪费笔墨在它上头。在现实项目中,完全独立的对象少之又少,绝大多数情况都是对象之间有着紧密的关联。这种关联主要分为三种类型:一对一、一对多和多对多。如果对EF浅尝辄止,则我几乎可以肯定你一定会在实际开发中被对象间的关联弄得焦头烂额。下面就和大家聊聊EF是如何处理不同对象关联类型数据更新问题的。... 阅读全文
posted @ 2015-04-28 14:04 随梦而飞 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: 对于任何一个ORM框架,CRUD都是其核心功能,可以这么说,CRUD功能实现得好坏,直接决定了此ORM框架的命运。CRUD是英文Create、Read、Update、Delete四个单词的缩写,对应于汉语,就是“增、删、改、查”四个字。再细分一下,“增、删、改”可归为一类,其特点是要更新数据源,而“查”则归为另一类,它不修改原始的数据源。我们的技术探索之旅,从“查”开始。1 两种查询数据的方式EF... 阅读全文
posted @ 2015-04-28 14:03 随梦而飞 阅读(1513) 评论(0) 推荐(0) 编辑
摘要: 在深入学习某项技术之前,应该努力形成对此技术的总体印象,并了解其基本原理,本文的目的就在于此。一、理解EF数据模型 EF本质上是一个ORM框架,它需要把对象映射到底层数据库中的表,为此,它使用了三个模型来描述这种映射关系。 (1)概念模型(Conceptual Model):主要体现为一组可以被应用程序直接使用的类。这些类也是我们在程序中直接使用的类,通常称之为“实... 阅读全文
posted @ 2015-04-28 14:01 随梦而飞 阅读(1503) 评论(0) 推荐(0) 编辑
摘要: 在微软平台写程序有年头了,随着微软数据存取技术的持续演化,我在程序中先后使用过ODBC、DAO、ADO、ADO.NET、LINQ to SQL、 Entity Framework这些技术。近几年来,Entity Framework(后文简称EF)的地位日益上升,成为微软数据存取技术的主角,也是我个人在开发应用程序时首选的数据存取技术,同时我也在博客园等专业网站上看到业界许多项目也都使用了EF。我放... 阅读全文
posted @ 2015-04-28 14:00 随梦而飞 阅读(1965) 评论(0) 推荐(0) 编辑
摘要: 文章提纲理论基础应用场景总结理论基础基于前面的文章,本次我们更近一步,进行更加深入的讲解, 首先介绍下Attribute配置Data Model.使用Attribute配置Data Model, 可以指定formatting, validation, database mapping rules约定:下图中三种情况一般资料都翻译成"属性",为了区分,我们用下图中的表述方式。接下来,我们先对常用的a... 阅读全文
posted @ 2015-04-28 13:13 随梦而飞 阅读(6301) 评论(6) 推荐(3) 编辑
摘要: 本篇是相对独立的一篇,主要讲解不丢失数据进行数据库结构升级。前面我们讲解EF功能时(见第三篇文章)已经介绍过一种更新数据库的方式:EF比较model和database,如果两边不一致,程序将会drop and re-create数据库。本篇文章我们会使用 code first migrations的方式。这个功能可以使你改变data model,在不drop and re-create数据库的情况... 阅读全文
posted @ 2015-04-28 13:01 随梦而飞 阅读(7215) 评论(0) 推荐(0) 编辑
摘要: 本篇我们针对表格显示添加一些新功能。前面我们已经讲解过表格显示数据了,现在我们添加三个常用功能:对显示结果进行排序、过滤、分页。文章提纲理论基础/前置准备详细步骤总结前置准备 – 应用之前样式,增加测试数据我们对之前的Views à Account à Index.cshtml 进行修改以完成今天的示例。界面样式修改前:下面对Views à Account à Index.cshtml进行如下修改... 阅读全文
posted @ 2015-04-28 12:42 随梦而飞 阅读(4499) 评论(1) 推荐(2) 编辑
摘要: 来自为知笔记(Wiz) 阅读全文
posted @ 2015-04-28 12:36 随梦而飞 阅读(4483) 评论(4) 推荐(2) 编辑
摘要: 上篇文章介绍了EF实现CRUD及一些基本的Html Helpers.这次我们将会对之前的内容进行一些修改和重构:引入Bootstrap样式,搭建几类共用的模板页,对UI进行一些改造分类介绍Html Helpers完善一些功能文章提纲理论基础UI改造详细步骤总结理论基础 -- Bootstrap简介以下摘自百度百科:Bootstrap是Twitter推出的一个开源的用于前端开发的工具包。它由Twit... 阅读全文
posted @ 2015-04-28 12:32 随梦而飞 阅读(7604) 评论(1) 推荐(3) 编辑
摘要: 上篇文章主要讲了如何配置EF, 我们回顾下主要过程:创建Data Model à 创建Database Context à创建databaseInitializerà配置entityFramework的context配置节。对这个过程还有疑问的可以去上篇再看一下。本次我们就主要讲解 (1) EF基本的CRUD (2) 涉及到的常用HtmlHelper文章提纲概述 & 要点理论基础详细步骤总结概述 ... 阅读全文
posted @ 2015-04-28 11:52 随梦而飞 阅读(8905) 评论(5) 推荐(5) 编辑
摘要: 期待已久的EF终于来了。学完本篇文章,你将会掌握基于EF数据模型的完整开发流程。本次将会完成EF数据模型的搭建和使用。基于这个模型,将之前的示例添加数据库查询验证功能。文章提纲概述 & 要点详细步骤总结概述 & 要点下面是本文要点,正文部分会有详细介绍。EF架构图新建基于EF的Data Model的约定关于ORM的重要概念,和传统方式开发的区别EF开发的整体过程详细步骤新建文件夹,规划好代码摆放位... 阅读全文
posted @ 2015-04-28 11:50 随梦而飞 阅读(13361) 评论(17) 推荐(5) 编辑
摘要: 从前端的UI开始MVC分离的比较好,开发顺序没有特别要求,先开发哪一部分都可以,这次我们主要讲解前端UI的部分。ASP.NET MVC抛弃了WebForm的一些特有的习惯,例如服务器端控件,ViewState这些东西,让Web回归原始的状态,Web是什么样子就是什么样子。而谈到一个Web Application的UI,涉及到的无非就是html、css、 js这些东西。文章提纲概述重要概念介绍建立 ... 阅读全文
posted @ 2015-04-28 11:48 随梦而飞 阅读(14320) 评论(7) 推荐(5) 编辑
摘要: 第0课 从0开始ASP.NET MVC开发模式和传统的WebForm开发模式相比,增加了很多"约定"。直接讲这些 "约定" 会让人困惑,而且东西太多容易忘记。和微软官方教程不同,笔者尽量不用脚手架,从空白框架开始,一步一步添加功能,每次添加的东西刚好够用,让大家能真正能用起来,理解每一个过程。文章提纲概述核心概念介绍从空白开始,建立一个基本框架详细步骤概述本系列文章及文章中的例子主要基于微软官方文... 阅读全文
posted @ 2015-04-28 11:46 随梦而飞 阅读(25827) 评论(3) 推荐(12) 编辑