原文:Async and Stored Procedures with the Entity Framework in an ASP.NET MVC Application 1.为什么使用异步代码: 一个服务器可用的线程数量是有限的,在高负载的情况下所有的可用线程都可能在使用.在这种情况下,在线程被释放之前服务器不能处理新的请求.在同步代码中,很多线程被占用但是实际上没有做任何操作,因为它们在等待I/O完成.在异步代码中,当一个进程在等待I/O完成的过程中,它的线程将会被释放用于处理其他请求.这…
原文:Advanced Entity Framework 6 Scenarios for an MVC 5 Web Application 1.执行原生SQL查询: EF Code First API包含直接传递SQL命令到数据库的方法: 使用DbSet.SqlQuery方法查询返回实体类型.返回的对象必须是DbSet对象所期望的类型,并且数据库上下文会自动追踪它们除非我们关闭了追踪. 使用Database.SqlQuery方法查询返回非实体类型.返回的数据不会被数据库上下文追踪,即使我们为该方…
原文:Implementing Inheritance with the Entity Framework 6 in an ASP.NET MVC 5 Application 1.选择继承映射到数据库表: 在School数据模型里面,Instructor和Student类有几个属性是相同的: 假设我们想要消除Instructor和Student实体属性的冗余代码.或者我们想要编写一个可以格式化name的服务,而不用考虑这个name是来自一个instructor还是student.我们可以创建一个…
原文:Handling Concurrency with the Entity Framework 6 in an ASP.NET MVC 5 Application 1.并发冲突: 当一个用户编辑一个实体数据时,另一个用户在第一个用户的改变提交到数据库之前同时也在编辑这个实体数据,这时就会发生冲突.如果不处理这种冲突,最后更新数据库的用户的更改将覆盖其他用户的修改.在许多程序中,这种风险是可以接受的:如果程序具有较少的用户和较少的更新操作,或者不是覆盖关键的变化,这种情况下处理并发的成本可能大…
原文:Updating Related Data with the Entity Framework in an ASP.NET MVC Application 1.定制Course的Create和Edit页面: 修改CourseController.cs的Create和Edit方法: public ActionResult Create() { PopulateDepartmentsDropDownList(); return View(); } [HttpPost] [ValidateAnt…
原文:Reading Related Data with the Entity Framework in an ASP.NET MVC Application 1.延迟(Lazy)加载.预先(Eager)加载.显式(Explicit)加载: EF加载相关数据到实体导航属性有以下几种方式: 延迟加载:当实体第一次读取时,相关数据没有加载.当第一次试图访问导航属性时,所需的导航数据自动加载.这导致多条查询语句被发送到数据库:一条查询实体本身,一条查询实体相关数据.DbContext类默认启用延迟加载…
原文:Creating a More Complex Data Model for an ASP.NET MVC Application 前面的教程中,我们使用的是由三个实体组成的简单的数据模型.在本教程中,我们将添加更多的实体和关系,并通过指定格式.验证和数据库映射规则来自定义数据模型.有两种方式来定义数据模型:一种是给实体类添加属性,另一种是在数据库上下文类添加代码. 当我们完成后,实体类将完成下图所示的数据模型: 1.通过使用属性来自定义数据模型: 1.1.DateType属性: 修改Mo…
原文:Code First Migrations and Deployment with the Entity Framework in an ASP.NET MVC Application 1.启用Code First迁移: 当我们开发一个新的程序时,数据模型经常会发生改变,每次模型发生改变时,就会变得与数据库不同步.我们之前配置EF在每次数据模型发生改变时自动删除然后重建数据库.当我们增加.删除或者改变实体类或者改变DbContext类时,在程序下次运行时将会自动删除已经存在的数据库,并且创…
原文:Connection Resiliency and Command Interception with the Entity Framework in an ASP.NET MVC Application [注:本节教程可以选择性学习] 本节教程将学习EF6的两个重要特性,这两个特性在我们将程序部署在云环境时特别有用: 弹性连接(connection resiliency):遇到瞬时的连接错误时自动重试连接. 命令拦截(command interception):捕获所有发送到数据库的查询…
原文:Sorting, Filtering, and Paging with the Entity Framework in an ASP.NET MVC Application 1.添加排序: 1.1.修改Controllers\StudentController.cs的Index: public ActionResult Index(string sortOrder) { ViewBag.NameSortParm = String.IsNullOrEmpty(sortOrder) ? "na…
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockoutjs and Bootstrap Part 1: 创建 Web Application (Knockout.js, Asp.Net MVC and Bootstrap): 前端设计 在开始 UI 部分之前,我们先看一下在 ASP.NET MVC4 中使用 Knockoutjs 和 Bootstrap…
原文地址:http://ddmvc4.codeplex.com/ 原文名称:Design and Develop a website using ASP.NET MVC 4, EF, Knockoutjs and Bootstrap 另一种 MVC 应用程序: 简介 站点总是快速成长,一旦开始成长,站点就变得很难开发,组织和维护.所以在我们增加功能或者开发项目的时候,缺乏设计的大型网站会变得失去控制.这里要说的是站点的架构设计必须简单,容易被任何设计者理解 ( 从初级开发者到中级开发者 ),以及…
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第九篇:为ASP.NET MVC应用程序使用异步及存储过程 原文:Async and Stored Procedures with the Entity Framework in an ASP.NET MVC Application 译文版权所有,谢绝全文转载——但您可以在您的网站上添加到该教程的链接. 在之前的教程中,您已经学习了如何使…
ASP.NET MVC应用程序使用异步及存储过程 是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第七篇:为ASP.NET MVC应用程序更新相关数据 原文:Async and Stored Procedures with the Entity Framework in an ASP.NET MVC Application 译文版权所有,谢绝全文转载——但您可以在您的网站上添加到该教程的…