Entity Framework 六
实体框架中的存储过程:
我们在创建edmx的时候把存储过程勾选了,所以在我们的上下文上中生成了方法。

存储过程为:就是需要显示多个表的字段。以往需要显示多个表的字段都是新建一个类把需要的字段当做属性写,然后使用LINQ把需要的字段全部映射出来。它这里一样的

edmx里面会出现不是数据库中的表,这种情景是适用于一个里面中需要显示多表字段

使用存储过程:


等同于在数据库中执行存储过程


使用存储过程的CRUD:
①添加学生信息
存储过程

select SCOPE_IDENTITY()
返回上面操作的数据表最后row的IDENTITY 列的值;也就是添加后的ID(主键)
生成的方法

使用方法:



②更新学生信息

生成的方法:

使用方法:



③删除学生

生成方法:

使用方法:


实体框架中的枚举: 三种方法可以使属性变成枚举类型
1,把现有属性转为枚举
①把你的项目框架调到4.5

②打开设计器,在Teacher 表中新加标量属性 TeacherType.数据库也也需要添加

保存,然后你的Teacher类中就会出现新加的属性

③右键 TeacherType,转换到枚举


④检查类型



⑤添加新老师

2,从设计添加实体


然后把TeacherType的类型改为枚举也可以。
3,在代码里面写了枚举类型
直接在模型浏览器中枚举中添加,选择引用外部类型,把枚举的命名空间写进去就可以了k


实体框架5.0中的空间数据类型支持
一般的数据类型都接受,这就不用说了。
timespan 时间戳类型 ——————》 Byte[] 字节组类型
geography 地理位置类型——————》 System.Data.Entity.Spatial.DbGeography
急切加载:
急切加载是查询一种类型的实体的过程,也加载相关的实体作为查询的一部分。使用Include()方法实现加载。先进行一步的过滤,然后再用where进行筛选。

延迟加载:
实体框架的一个重要功能是延迟加载。延迟加载意味着延迟加载相关数据,直到您明确请求为止。例如,Student类包含StudentAddress作为复杂属性。因此,上下文首先加载数据库中的所有学生,然后在我们访问StudentAddress属性时加载特定学生的地址。

延迟加载规则:
- context.Configuration.ProxyCreationEnabled应该是true。
- context.Configuration.LazyLoadingEnabled应该是true。
- 导航属性应该定义为公共的,虚拟的。如果属性没有被定义为虚拟的,上下文将不会执行延迟加载。

显式加载相关实体

查询相关实体

.Collection(s => s.Courses).Query()
执行原生SQL查询
使用DBContext对数据库执行本地原始SQL查询。可以执行以下类型的查询:
- 返回特定类型的实体的实体类型的SQL查询
- SQL查询返回原始数据类型的非实体类型
- 原始SQL命令到数据库
实体类型的SQL查询:

非实体类型的SQL查询:
可以使用Database类上的SqlQuery方法创建返回任何类型(包括原始类型)的实例的SQL查询。

对数据库的原始SQL命令:
ExecuteSqlCommnad方法在将非查询命令发送到数据库(例如Insert,Update或Delete命令)中非常有用。


Entity Framework 六的更多相关文章
- 《Entity Framework 6 Recipes》中文翻译系列 (30) ------ 第六章 继承与建模高级应用之多对多关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第六章 继承与建模高级应用 现在,你应该对实体框架中基本的建模有了一定的了解,本章 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (37) ------ 第六章 继承与建模高级应用之独立关联与外键关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-13 在基类中应用条件 问题 你想从一个已存在的模型中的实体派生一个新的实体, ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第六章:管理产品图片——多对多关系(上篇)
在这章中,我们将学习如何创建一个管理图片的新实体,如何使用HTML表单上传图片文件,并使用多对多关系将它们和产品关联起来,如何将图片存储在文件系统中.在这章中,我们还会学习更加复杂的异常处理,如何向模 ...
- Entity Framework(六):数据迁移
在前面的几篇文章中,简单的介绍了如何使用Entity Framework的Code First模式创建数据库,但是,在前面的几篇文章中,我们都是通过使用数据库初始化策略来做,也就是每次先删除数据库然后 ...
- ASP.NET MVC深入浅出系列(持续更新) ORM系列之Entity FrameWork详解(持续更新) 第十六节:语法总结(3)(C#6.0和C#7.0新语法) 第三节:深度剖析各类数据结构(Array、List、Queue、Stack)及线程安全问题和yeild关键字 各种通讯连接方式 设计模式篇 第十二节: 总结Quartz.Net几种部署模式(IIS、Exe、服务部署【借
ASP.NET MVC深入浅出系列(持续更新) 一. ASP.NET体系 从事.Net开发以来,最先接触的Web开发框架是Asp.Net WebForm,该框架高度封装,为了隐藏Http的无状态模 ...
- ASP.NET CORE系列【六】Entity Framework Core 之数据迁移
原文:ASP.NET CORE系列[六]Entity Framework Core 之数据迁移 前言 最近打算用.NET Core写一份简单的后台系统,来练练手 然后又用到了Entity Framew ...
- Apworks框架实战(六):使用基于Entity Framework的仓储基础结构
在前面的章节中,我们已经设计了一个简单的领域模型,接下来我们希望能够实现领域模型的持久化及查询.在Apworks中,实现了面向Entity Framework.NHibernate以及MongoDB的 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (31) ------ 第六章 继承与建模高级应用之自引用关联
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-4 使用TPH建模自引用关系 问题 你有一张自引用的表,它代表数据库上不同类型 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (32) ------ 第六章 继承与建模高级应用之TPH与TPT (1)
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 6-6 映射派生类中的NULL条件 问题 你的表中,有一列允许为null.你想使用 ...
随机推荐
- centOS使用.htaccess
首先,你要保证你的Aapche已经开启了.htaccess 可以参考:http://www.veryhuo.com/a/view/21259.html 以下是.htaccess文件中的内容: Rewr ...
- CityBuilder导入OSGB,生成3DML填坑
工具:CityBuilder 问题1:导入osgb时,中文路径报错 当导入osgb layer时,Input folder和output foder 中最好不要出现中文 否则可能报出如下错误: 日志: ...
- URAL ——1249——————【想法题】
Ancient Necropolis Time Limit:5000MS Memory Limit:4096KB 64bit IO Format:%I64d & %I64u ...
- bootstrap清除数据源
下拉框使用动态数据源,当下拉框触发change事件时,想让下拉框改变数据源,加了个if判断 $('#@idForCostCategory').change(function (event) { if( ...
- [SQL SERVER系列]工作经常使用的SQL整理,实战篇(二)[原创]
工作经常使用的SQL整理,实战篇,地址一览: 工作经常使用的SQL整理,实战篇(一) 工作经常使用的SQL整理,实战篇(二) 工作经常使用的SQL整理,实战篇(三) 接着上一篇“工作经常使用的SQL整 ...
- cf567E. President and Roads(最短路计数)
题意 题目链接 给出一张有向图,以及起点终点,判断每条边的状态: 是否一定在最短路上,是的话输出'YES' 如果不在最短路上,最少减去多少权值会使其在最短路上,如果减去后的权值\(< 1\),输 ...
- Netty-EventLoop
1. public interface EventLoop extends EventExecutor, EventLoopGroup 2. public interface EventExecuto ...
- arcgis server 10.1 发布动态图层展示海量及频繁更新的数据步骤
Arcgis server 发布动态图层及调用动态图层 做这个动态图层功能的原由是 有一个30万的数据需要通过arcgis GP工具转成shp然后渲染加载进地图,原来的做法是遍历生成shp面要素,读 ...
- Entity Framework:“无法加载指定的元数据资源
System.Data.Entity.Core.MetadataException:“无法加载指定的元数据资源 CodeFirst方式使用EF,写入数据时报错.System.Data.Entity.C ...
- SQL 出现18456
SQL Server 2008R2 18456错误解决方案 SQL Server 2008R2 18456错误解决方案 微软解释说,因密码或用户名错误而使身份验证失败并导致连接尝试被拒时,类似下面 ...