实体框架 Code First】的更多相关文章

原文:https://msdn.microsoft.com/zh-cn/en-zn/data/jj591621…
在前面的随笔<Entity Framework 实体框架的形成之旅--Code First的框架设计(5)>里介绍了基于Code First模式的实体框架的经验,这种方式自动处理出来的模式是通过在实体类(POCO类)里面添加相应的特性说明来实现的,但是有时候我们可能需要考虑基于多种数据库的方式,那这种方式可能就不合适.本篇主要介绍使用 Fluent API 配置实现Code First模式的实体框架构造方式. 使用实体框架 Code First 时,默认行为是使用一组 EF 中内嵌的约定将 P…
KeyAttribute 设置主键.如果为int类型,将自动设置为自增长列. 系统默认以Id或类名+Id作为主键.StringLengthAttribute 可设置最大最小长度以及验证提示信息等.最大长度会映射到数据库.MaxLengthAttribute 最大长度.会映射的数据库.ConcurrencyCheckAttribute 修改或删除时,将带此属性的列的原有值与主键一起传送到数据库,如果传递的值与数据库中不一致,则修改或删除失败.用于并发检查.RequiredAttribute 必填字…
在前面几篇介绍了Entity Framework 实体框架的形成过程,整体框架主要是基于Database First的方式构建,也就是利用EDMX文件的映射关系,构建表与表之间的关系,这种模式弹性好,也可以利用图形化的设计器来设计表之间的关系,是开发项目较多采用的模式,不过问题还是这个XML太过复杂,因此有时候也想利用Code First模式构建整个框架.本文主要介绍利用Code First 来构建整个框架的过程以及碰到的问题探讨. 1.基于SqlServer的Code First模式 为了快速…
这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第四篇:MVC程序中实体框架的连接恢复和命令拦截 原文:Connection Resiliency and Command Interception with the Entity Framework in an ASP.NET MVC Application 译文版权所有,谢绝全文转载——但您可以在您的网站上添加到该教程的链接. 到目前…
用 MVC 5 的 EF6 Code First 入门 系列:MVC程序中实体框架的Code First迁移和部署 这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第五篇:MVC程序中实体框架的Code First迁移和部署 原文:Code First Migrations and Deployment with the Entity Framework in a…
微软的Entity Framework 受到越来越多人的关注和使用,Entity Framework7.0版本也即将发行.虽然已经开源,可遗憾的是,国内没有关于它的书籍,更不用说好书了,可能是因为EF版本更新太快,没人愿意去花时间翻译国外关于EF的书籍.使用Entity Framework开发已经有3年多了,但用得很肤浅,最近想深入学习,只好找来英文书<Entity Framework 6 Recipes>第二版,慢慢啃.首先需要说明的是,我英文不好,只是为了学习EF.把学习的过程写成博客,一…
Visual Studio 我们在Windows平台上开发应用程序使用的工具主要是Visual Studio.这个集成开发环境已经演化了很多年,从一个简单的C++编辑器和编译器到一个高度集成.支持软件开发整个生命周期的多语言环境. Visual Studio以及它发布的工具和服务提供了:设计.开发.单元测试.调试.软件配置和管理.构建管理和持续集成等等.很少有开发人员因为还没有使用它而担心(注:作者应该是表达不用担心VS的能力),Visual Studio是一个完整的工具集.Visual Stu…
Rafy 领域实体框架发布后,虽然有帮助文档,许多朋友还是反映学习起来比较复杂,希望能开发一个示例程序,展示如何使用 Rafy 领域实体框架所以,本文通过使用 Rafy 领域实体框架来改造一个传统的三层架构应用程序——“服装进销存”系统,来讲解如何使用 Rafy 领域实体框架进行数据库应用程序的快速开发,以及替换为使用 Rafy 框架后带来的一些新功能. 完整示例包下载地址:http://pan.baidu.com/s/1AB9TL,其中包含本次改造前.改造后的源代码,以及转换说明文档.(下载该…
去年4月,我们为 Rafy 框架添加了领域模型设计器组件.时隔一年,谨以本文,简要说明该领域模型设计器的设计思想. 设计目标 Rafy 实体框架中以领域驱动设计作为指导思想.所以在开发时,以领域建模为首要任务.为此,我们为它开发了领域模型设计器.开发人员可以在设计器中,设计相应的领域模型,查看现有代码对应的领域模型. 我们为这个设计器制定了以下功能: 外部简单设计器:也就是设计器可以部署为一个可以独立运行的软件.该软件可以打开领域模型的设计图,方便团队中的非开发人员角色查看.同样,这个软件最好也…
对于SQL Server.MySql.Oracle等这些传统的数据库,基本都是关系型数据库,都是体现实体与实体之间的联系,在以前开发时,可能先根据需求设计数据库,然后在写Model和业务逻辑,对于Model类基本都是和表的字段对应着,而表中存的每条记录又和类的实例对象对应着,有了这个对照关系,就是能不能只在一边设计,在数据库设计表或在VS中设计Model,然后直接生成另一边,这样就省了好多时间成本.于是有了ORM,Object Relation Mapping,对象关系映射.既然可以根据Mode…
本篇主要对常规数据操作的处理和实体框架的处理代码进行对比,以便更容易学习理解实体框架里面,对各种数据库处理技巧,本篇介绍几种数据库操作的代码,包括写入中间表操作.联合中间表获取对象集合.递归操作.设置单一字段的修改等几种方式. 1.写入中间表操作 一般情况下,我们可以通过执行数据库脚本方式写入. /// <summary> /// 增加用户IP信息 /// </summary> /// <param name="userID"></param&…
在上篇随笔<Entity Framework 实体框架的形成之旅--数据传输模型DTO和实体模型Entity的分离与联合>里面,介绍了在Entity Framework 实体框架里面引入了DTO的对象,通过数据传输模型DTO和实体模型Entity的分离与联合,很好的隔离了它们的关系,使得即使是复杂的实体模型Entity,也不会影响WCF接口数据的传输和处理.本文主要介绍在基于这个分离模型的基础上,如何在界面实现多种常规的处理操作. 1.常规业务的增加.更新操作 对于业务对象的增加,由于我们引入…
在使用Entity Framework 实体框架的时候,我们大多数时候操作的都是实体模型Entity,这个和数据库操作上下文结合,可以利用LINQ等各种方便手段,实现起来非常方便,一切看起来很美好.但是如果考虑使用WCF的时候,可能就会碰到很多相关的陷阱或者错误了.因为实体模型Entity的对象可能包括了其他实体的引用,在WCF里面就无法进行序列化,出现错误:而且基于WCF的时候,可能无法有效利用Express表达式,无法直接使用LINQ等问题都一股脑出现了.本文基于上面的种种问题,阐述了我的整…
在EF实体框架之CodeFirst二中也提到数据库里面一般包括表.列.约束.主外键.级联操作.实体关系(E-R图).存储过程.视图.锁.事务.数据库结构更新等.前面几篇博客把表.存储过程.视图这些算是总结了一下,这篇的话主要总结下基本的约定类型. 1.主键 在数据库中主键是必不可少的,一般主键有业务主键和逻辑主键,而且主键有的还是联合主键在code first中也可以通过约定的形式映射到数据库——[Key]. [Key] public int ProductID { get; set; } 默认…
Contoso University  Web 应用程序 你会在这些教程中构建的应用程序是一个简单的大学网站. 用户可以查看和更新学生. 课程和教师信息.这里有几个屏幕,您将创建. 这个网站的用户界面样式一直接近由内置的模板,生成的内容,以便本教程可以集中主要精力如何使用实体框架. 系统必备组件 方向和屏幕截图在本教程中假定您正在使用Visual Studio 2012或Visual Studio 2012 速成网站,最新的更新与截至 2013 年 7 月,安装的 Windows Azure S…
原文:[ASP.NET Web API教程]2.3 与实体框架一起使用Web API 2.3 Using Web API with Entity Framework 2.3 与实体框架一起使用Web API 本小节是ASP.NET Web API第2章的第3小节,原文共分为7个部分,分成了7篇文章,故这里也分为7个帖子贴出,以下是本小节的第1部分 — 译者注. Part 1: Overview and Creating the Project 第1部分:概述及创建项目 本文引自:http://w…
我亦MSDN 原文地址 http://msdn.microsoft.com/en-us/data/jj556606 Entity Framework allows a number of settings to be specified from the configuration file. In general EF follows a ‘convention over configuration’ principle. All the settings discussed in this…
MVC程序中实体框架的连接恢复和命令拦截 这是微软官方SignalR 2.0教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第四篇:MVC程序中实体框架的连接恢复和命令拦截 原文:Connection Resiliency and Command Interception with the Entity Framework in an ASP.NET MVC Application 译文版权所有,…
以下文章摘录来自InfoQ,是一篇不错的软问,大家细细的品味 关键要点: Dapper这类微ORM(Micro-ORM)虽然提供了最好的性能,但也需要去做最多的工作. 在无需复杂对象图时,Chain这类Fluent ORM更易于使用. 对实体框架(Entity Framework)做大量的工作后,其性能可显著提高. 为获得数据库的最大性能,需要采用可能会有些繁琐的投影(Projection)操作. ORM整体上的局部更新可能会存在问题. 在现代企业开发中,可采用多种方法构建数据存取层(data…
转自:http://www.cnblogs.com/huangcong/archive/2011/07/20/1931107.html 在之前的文本模板(T4)初体验中我们已经知道了T4的用处,下面就看看如何用它来实现批量修改实体框架(Entity Framework)中的类名.我们都知道ADO.NET 实体数据模型中有一种方式是以数据库模型来生成数据模型的,这是个很简便的实体数据模型生成的方式,但是因为微软提供的自定义接口不足,我们无法实现对生成的数据模型实体类批量进行修改(至少我上网找了很久…
译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 38 章 实体框架核心(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# 6 and .NET Core 1.0>.水平有限,各位阅读时仔细分辨,唯望莫误人子弟. 附英文版原文:Professional C# 6 and .NET Core 1.0 - 38 Entity Framework Core ------------------------------- 本章内容 En…
在一些比较重要的业务系统中,通常会要求系统跟踪数据记录的变动情况.系统要记录什么时间,什么人,对那些信息进行了变动. 比较简单的实现方式是在每个表中加入两个字段CreatedBy和CreatedAt,见图1.CreatedBy用来存是谁进行了这次更改.CreatedAt用来存什么时间进行了这次更改.但是这种方式只能保存最后一次进行改动的人和时间.中间的改动历史都不能保留.改动前的值也不能保留. 图 1 对于关键的信息系统,例如银行系统,电商系统,公安系统,我们需要保存数据完整的变动信息和历史.这…
仅限EF6仅向前 - 此页面中讨论的功能,API等在实体框架6中引入.如果您使用的是早期版本,则部分或全部信息不适用. 使用Code First时,您的模型是使用一组约定从您的类计算的.默认的Code First Conventions确定哪些属性成为实体的主键,实体映射到的表的名称,以及默认情况下十进制列具有的精度和比例. 有时,这些默认约定对于您的模型并不理想,您必须通过使用Data Annotations或Fluent API配置许多单个实体来解决这些问题.自定义代码优先约定允许您定义自己…
介绍 本文的目的是解释微软的实体框架提供的三种数据访问方法.网上有好几篇关于这个话题的好文章,但是我想以一个教程的形式更详细地介绍这个话题,这个教程对于开始学习实体框架及其方法的人来说是个入门.我们将逐步探索每个方法,通过这些方法,我们可以在应用程序中使用实体框架访问数据库和数据.我将使用实体框架版本6.2和.NETFramework 4.6.和Visual Studio 2017的教程.对于数据库,我们将使用SQLServer.如果没有安装SQLServer,则可以使用本地数据库.我将在本文中…
在一些比较重要的业务系统中,通常会要求系统跟踪数据记录的变动情况.系统要记录什么时间,什么人,对那些信息进行了变动. 比较简单的实现方式是在每个表中加入两个字段CreatedBy和CreatedAt,见图1.CreatedBy用来存是谁进行了这次更改.CreatedAt用来存什么时间进行了这次更改.但是这种方式只能保存最后一次进行改动的人和时间.中间的改动历史都不能保留.改动前的值也不能保留. 图 1 对于关键的信息系统,例如银行系统,电商系统,公安系统,我们需要保存数据完整的变动信息和历史.这…
This topic demonstrates how to create a simple XAF application that uses both the Entity Framework (EF) and eXpress Persistent Objects (XPO) business models. For instance, this approach is required if you want to reuse the Entity Framework model from…
介绍 这篇文章将帮助你理解在库模式.实体框架.Web API.SQL Server 2012.ASP中的工作单元测试的帮助下设计一个项目.净MVC应用程序.我们正在开发一个图书实体和作者专用的样例图书保存解决方案项目,在该项目上我们可以进行创建.读取.更新和删除操作. 这个计划将包括一旦我们完成了五个相互依赖的次要项目. 总结本项目的成果 这将帮助你开发/设计一个项目在一个多层治理如何定义一个主键的属性的类代码第一种方法如何定义一个属性与decimal数据类型和插入值it 在代码中第一种方法如何…
下载StudentApplication.Web.zip - 599.5 KB 下载StudentApplication.API.zip - 11.5 KB 介绍 在上一篇文章中,我们了解了实体框架的基本概念,并了解了如何使用实体框架的数据库优先开发快速构建web应用程序. 这一次,我们将构建一个简单而现实的ASP.NET Core应用程序,展示了实体框架核心的特性.但是在我们进一步深入之前,让我们快速回顾一下代码优先和数据库优先设计工作流的高级差异和关键好处,然后我们将决定在我们的项目中使用哪…
下载source - 1.5 MB 介绍 本文的源代码已更新到NetCore 2.0 ASP.净MVC项目. 当我们开始开发一个ASP.在Microsoft Visual Studio中,我们发现通过使用实体框架DbContext和Visual Studio工具自生成代码,可以很容易地为数据库中的每个"表"创建控制器和视图.但是,当您的数据库包含许多表时,即使逐一生成一个控制器,这个操作也会变得单调乏味. 背景 的基本规则 为了使用这篇文章的代码而不进行修改,你应该遵循以下规则: 首先…