Entity Framework 5引入了表值函数(Table-Valued Functions TVFs).表值函数的返回类型是一个Table类型,可用在SQL查询语句中.最简单的表值函数,读取客户表的记录,参考如下代码: CREATE FUNCTION GetCustomers return table AS return ( SELECT * FROM Customer) ;   此外,表值函数还可以指定要返回的表的列名和函数参数,请参考下面的代码例子:   CREATE FUNCTION…
(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注.) 题记:虽然EF7重新设计了Entity Framework,不过也还是能够支持数据迁移的. Entity Framework 7是微软ORM框架的一次重生,变得更加轻量级.因而默认情况是没有开启数据迁移(Migration)功能的,也即创建出来的数据库默认不会包含“__MigrationHistory”表.在这种情况下,数据模型的变更,需要你手动(通过SQL脚本)去修改对应的数据库结构.当然,你还是可以启用自…
前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core的并发处理方式. 1.常见的并发处理策略 要了解如何处理并发,就要知道并发的一般处理策略 悲观并发策略 悲观并发策略,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守悲观的态度,因此,在整个数据处理过程中,将数据处于锁定状态.悲观并发策略大多数情况下依靠数据库的锁机制实现,以保证操作最…
1. 案例1 - 类型和表之间的EF代码优先映射 从EF6.1开始,有一种更简单的方法可以做到这一点.有关 详细信息,请参阅我的新EF6.1类型和表格之间的映射. 直接贴代码了 从EF6.1开始,有一种更简单的方法可以做到这一点. 有关 详细信息,请参阅我的新EF6.1类型和表格之间的映射. 实体框架包括MetadataWorkspace,可让您访问EF保持模型形状的元数据.问题是,映射部分 - 将实体类型映射到表和属性到列的位 - 不是公共的. 我们确实有一个工作项可以在即将发布的版本之一中公…
前言 Entity Framework Core 2.0更新也已经有一段时间了,园子里也有不少的文章.. 本文主要是浅析一下Entity Framework Core2.0的日志记录与动态查询条件 去年我写过一篇关于Entity Framework Core1.0和1.1的日志记录和事务的文章: 一步步学习EF Core(2.事务与日志) 时过境迁..EF Core也更新到2.0了.. 在日志记录方面,有了比较大的变化..所以我觉得还是需要学习学习 正文 一. Entity Framework…
.NET Core 迁移工作如火如荼,今天在使用 Entity Frameowork Core(又名EF Core)时写了下面这样的 LINQ 查询表达式: .Where(u => u.Id == new Guid(userId)).FirstOrDefaultAsync(); 结果在 SQL Server Profiler 中发现竟然进行了全表查询. 之后将 new Guid(userId) 从表达式中移出,保存于一个局部变量中,使用这个局部变量进行查询,全表查询问题就解决了. var use…
顾名思义:表值函数返回的是表,而标量值函数可以返回基类型 一.表值函数 用户定义表值函数返回 table 数据类型.对于内联表值函数,没有函数主体:表是单个 SELECT 语句的结果集. 以下示例创建了一个内联表值函数.此函数的输入参数为客户(商店)ID,而返回 ProductID.Name 以及 YTD Total(销售到商店的每种产品的本年度节截止到现在的销售总额)列. USE AdventureWorks; GO CREATE FUNCTION Sales.fn_SalesByStore…
数据有一个字段,用的是 tinyint 长度是1  默认值为0 , 当用vs2013中的 EF5来生成 实体模型之后,看到这个列被标识为 bool 类型   Mysql官方参考文档关于布尔类型的说明: BOOL, BOOLEAN These types are synonyms(同义词) for TINYINT(1). A value of zero is considered(认为是) false. Nonzero(不为0) values are considered true   下面是一个…
函数有很多限制,不能使用动态语句,不能使用临时表等等...细看一下,直接写语句就行了,不用动态语句 insert into @re select id,parid,@I from videoclasspic where charindex(','+cast(id as varchar(10))+',',','+@parentid+',')>0 and isvalid=1 SqlServer表值函数: Sql server 的表值函数是返回一个Table类型,table类型相当与一张存储在内存中的…
1. Concurrency的作用 场景有个修改用户的页面功能,我们有一条数据User, ID是1的这个User的年龄是20, 性别是female(数据库中的原始数据)正确的该User的年龄是25, 性别是male 这个时候A发现User的年龄不对, 就给改成25, 那么在Entity Framework中,我们会这样做. ); //B用户在这里完成修改了User的性别 user.age = ; dbContext.SaveChanges(); 但是假如在上面注释处,有个B用户发现性别不对,完成…