首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

EntityFramework 键值映射

如果在 EF OnModelCreating 中配置了实体映射,也就是 SQL Server 中 ForeignKey,那么我们在添加实体时候,主实体主键值会自动映射到子实体键值,并且这个操作在一个...SaveChanges 中,但如果没有在 OnModelCreating 中进行映射配置,我们添加实体时候,就不会自动映射键值了,什么意思呢?...可以看到,Student ClassId 值是 0,而并不是我们预想 1,这是一个问题,在不增加情况下,我们一般会这样解决: static void Main(string[] args...使用实体框架后,主要就是利用LINQ进行一些集合操作,这些LINQ操作虽然有点难度,不过学习清楚了,处理起来也是比较方便。...在实体框架界面层查询中,我们也不在使用部分SQL条件做法了,采用更加安全基于DTOLINQ表达式进行封装,最后传递给后台也就是一个LINQ对象(非传统方式实体LINQ,那样在分布式处理中会出错

4.1K50

EF基础知识小记一

EF+LINQ开发方式能帮助我们极大减少工作量.相对于大量、高度冗余Ado.Net数据访问方式,使用LINQ查询来表达我们对数据需求更加合适,EF等实体框架会帮你们实现实体类到底层数据库映射...(Code First) 之后版本:提供了重大性能改进,并支持了枚举类型,值函数,空间数据类型,存储过程一系列改进,以及对asp.net MVC框架深度支持 版本6.0:提供了查询和更新异步支持...,在代码优先(Code First)中,存储过程支持更新,性能改进,以及一系列新特性,本书将聚焦这些新特性 4、模型 实体框架是一个强烈关注建模技术,实体框架创建实体数据模型(EDM)模型,它允许你在编码时使用强类型实体类...开发人员不知道也不关心数据库管理员是如何把这个对象分别存储在三张不同数据库。一旦配置,单一对象和三张数据库之间映射将被实体框架处理。   ...(数据库中关系) 7、上下文对象 下文对象为ObjectContext对象,现在,实体框架支持另一个最新名为DbContext上下文对象。

1.6K90
您找到你想要的搜索结果了吗?
是的
没有找到

优化OEA中聚合SQL

之前写过几篇关于聚合对象SQL文章,讲的是如果设计框架使用一句SQL语句来加载整个聚合对象树中所有数据。...而列名生成在原来模式中已经使用了“名+列名”格式进行了约定,所以现在我们只需要把“描述如何加载描述性数据”进行管理就可以了。...有了这些数据,则可以在框架内部生成聚合SQL,在框架内部按照它们进行大到聚合对象加载。以下,我将这些数据称为聚合对象“加载选项”。    ...这一点对于一个框架设计人员来说,往往很重要,只有流畅、易用API才能对得起你客户:框架使用者。以下我只把给出几个为达到流畅API而特别设计类。...summary> /// /// /// 需要加载实体属性表达式

1.6K70

ASP.NET MVC5高级编程——(3)MVC模式模型

首先数据库中主外定义: 主键 定义: 唯一标识一条记录,不能有重复,不允许为空 是另一主键, 可以有重复, 可以是空值 作用: 用来保证数据完整性 用来和其他建立联系用...个数: 主键只能有一个 一个可以有多个 因为这个主外属性对于理解后面的EF框架(ORM)很有帮助,所以这里我们多讲一些!...而称ArtistID属性为属性(foreign key),因为与模型对应数据库中,专辑(Album)和艺术家(Artist)存在对应关系,即ArtistID是Album!...5 什么是实体框架,什么是代码优先和数据上下文? 新建ASP.NET MVC5项目会自动包含对实体框架(EF)引用。...4.执行基架代码 4.1用实体框架创建数据库--local-DB虚拟数据空间 EF框架代码优先方法会尽可能地使用约定而非配置(即MVC约定优于配置)。

4.7K40

EF Core增删改查

而删除,如果在配置导航属性时,没有设置级联删除,删除当前元素,如果另一端是可空类型,并不会删除导航属性另一端元素只会设置键指向为NULL,如果另一端是不可空,那么就会同时删除。...: 行为名称 对内存中依赖项/子项影响 对数据库中依赖项/子项影响 Cascade 删除实体 删除实体 ClientSetNull(默认) 属性设置为 null None SetNull 属性设置为...null 属性设置为 null Restrict None None 而对于不可为NULL来说,枚举DeleteBehavior值起以下作用: 行为名称 对内存中依赖项/子项影响 对数据库中依赖项...Restrict None None 而对于数据修改,EF Core做法是通过监控实体ChangeTracker来实现对数据实体状态更新。...3.花样查询 EF Core 支持Linq查询,所以在查询时候可以使用Linq进行。

3K20

《Entity Framework 6 Recipes》翻译系列 (1) —–第一章 开始使用实体框架之历史和框架简述「建议收藏」

面对这些实体类以及他们之间关系我们构建LINQ查询来应对,LINQ允许我们在代码中使用实体类以及他们之间关系来表达关系型数据库中概念。...提供了重大性能改进,并支持了枚举类型,值函数,空间数据类型,存储过程一系列改进,以及对asp.net MVC框架深度支持。   ...根据你如何使用实体框架,概念层能通过设计器和代码来建模。一旦做出决定,你可以使用逆向工程从一个已有的数据库中建模,或借助设计器和大量工具能通过代码建模,以及使用实体框架来生成数据库。...导航属性(Navigation properties)是指跟其它实体有关联属性(数据库中关系)。在实体类型中不是导航属性属性通常叫做标量属性(scalar proerties).   ...每个实体类型都有一个属性或一个属性集来指示它实体。在实体框架中一个实体唯一标识一个实体,一般它被映射到实体对应底层数据库主键。

1.3K20

图片在保存时候===》出现这个异常:GDI+ 中发生一般性错误

Add a custom mapping expression, ignore, add a custom resolver, or modify the source/destination type....html 11.Spring.Net在Mvc4.0中应用说明 http://www.cnblogs.com/dunitian/p/4325064.html 12.找不到进行数据连接所需与最新版实体框架兼容实体框架数据库提供程序...http://www.cnblogs.com/dunitian/p/4755585.html#app 13.MVC在添加控制器时候发现没有添加选项了?...Dapper 01.由Dapper QueryMultiple 返回数据问题得出==》Dapper QueryMultiple并不会帮我们识别多个返回值顺序 http://www.cnblogs.com...在配置中使用 pages enableEventValidation=true 或在页面中使用 %@ Page EnableEventValidation=true % 启用了事件验证 http://www.cnblogs.com

1.5K80

一步一步创建ASP.NET MVC5程序(六)

接下来系列文章主要会以知识技术整合,提升,重构等为中心来展开,通过解决项目实战遇到各种问题来帮助大家有目,有方向性地学习,以达到提升大家ASP.NENT MVC 5开发技能效果。...本文知识要点 今天要给大家分享是本系列[一步一步创建ASP.NET MVC5程序] 进阶知识: 泛型仓储 为什么使用泛型仓储 说到为什么使用泛型仓储,我们不得不回到我们项目,以项目设计来驱动,说明为什么是泛型仓储...同时,其实现也要同样复制。 如果我们又添加在数据库新增了多张,对应仓储接口和实现是不是又要重复以上操作呢?ctrl+c , ctrl+v !!! 如果是这样,还不如使用代码生成器来得快。...以上两段话跑题了,我们还是切回正题,上面提到问题其实是有办法来避免重复工作,减轻我们工作量,即使用泛型仓储。...怎么样,如果我们再新增用户仓储接口和仓储实现是不是非常简单了呢?再也不用为重复增,删,改,查操作来复制,粘贴了。

1.3K70

在ASP.NET MVC5中实现具有服务器端过滤、排序和分页GridView

背景 在前一篇文章《【初学者指南】在ASP.NET MVC 5中创建GridView》中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web 表单功能。...通过前文,我们已经了解到使用 jQuery 插件数据可以很容易地实现具有搜索、排序和分页等重要功能表格。 ?...在模板页面,选择 MVC,如果编写了单元测试,请先做检查,然后点击确定。 我们工程都是用基本功能创建。现在,我们开始创建数据库上下文类,这个类将会被Data Access实体框架使用。...我们将在数据库上下文中为 Asset 添加一个属性,这个属性将会成为 Asset 实体框架代表,用来创建脚本。...我们正在获取 Assets 引用,以便能够链接到实体框架请求数据,我们可以通过 Count()函数来获取数据集数据数目,这个数据将会传递到 DataTablesResponse 构造函数中,成为行为方法最后一行

5.4K80

PDF.NET 数据开发框架 许可限制 框架源码获取

本套框架思想是借鉴Java平台Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP特性,同时还参考了后来.NETLINQ(本框架成型于2006年,当时还未听说过LINQ使用风格...技术限制        当前版本基于.NET2.0以上平台,不支持实体对象对应数据库关系,OQL表达式不支持多实体类查询,不支持SQL统计求和分组等,如有这些 复杂查询需求,请使用SQL-MAP...更多成功案例等待你实现:) 新版本信息 Ver 4.0 更新: 全面改写了实体类处理程序,效率提升10倍; 改进实体类生成器,支持从 SQLSERVER 表字段说明生成实体类属性说明;...Ver 3.0 更新: •全面改写了SqlMap模块,真正支持SQL-实体类 映射 •全面调整了框架命名空间,合并了基础程序集成为一个 PWMIS.Core.dll •修正了自2.0以来Bug •...改进了代码生成器 Ver 2.0 更新: •使用.NET 2.0技术改写原来所有的模块 •增强了Web控件验证功能 •全面改写原有实体类,提供实体类生成器 •全面改写了OQL功能 •支持.NET 2.0

1.2K60

.NET深入解析LINQ框架(五:IQueryable、IQueryProvider接口详解)

想必没有人不了解递归原理,对递归使用也是很常见,通过递归算法我们可以解决一下无法解决大问题,通过将大问题分解成多个同样数据结构小问题然后让计算机重复去计算就行了。...那么在LINQ中来说,我们无法通过一个方法多次调用来产生我们想要表达式树,一个Where查询表达式扩展方法可能不仅仅是被LINQ查询表达式所使用,还有可能被ORM入口方法所使用,比如Update更新时候就需要...那么我们如何构造出一个类似递归但不是递归算法结构,方法1可能被方法2调用,方法2也可能被方法1所调用,这样方法很多,N个方法分别表达不同语义,具体构造看使用需求,所以这里就出现碎片化概念了...2】.N层对象执行模型(纵横向对比链式扩展方法) 其实本来不打算加这一小节,但是考虑到肯定有部分朋友不是很理解多个对象如何协调去解决某类问题。...ORM一直是我们比较喜欢去写框架,这里就使用自定义IQueryable来查询相应对象实体。首先我们需要继承IQueryable接口来让LINQ能查询我们自己数据上下文。

1K30

ORM查询语言(OQL)简介--实例篇

语法,但不少朋友不太清楚具体该如何使用,本篇我们将使用实例来说明如何使用OQL。....属性实例调用     使用ORM,涉及到一个绕不开问题,就是如何获取字段,EF是通过Linq来进行翻译,本质上不是直接调用得到字段名称,在调用时候,都是通过泛型方式Lambda表达式来做...,OQL是可以进行其它平台移植 .NET框架低版本支持:框架仅需.NET 2.0 支持,如果引入Linq方式,那么意味着框架需要.net 3.5及以上版本支持 简化条件调用:在Where方法中直接调用实体属性...q=new OQL(emp); q.Select();     选取多个实体属性(多表字段):     上面的例子是选取单个实体方式,选取多个实体属性是类似的,Select方法参数使用不同实体属性即可...Select等方法,都是使用实体类.属性”调用方式,使得操作多个实体类方便快捷,试想如果采用泛型,这个Select方法应该有多少个重载呢?

5K60

RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用

RUF MVC5 Repositories Framework Generator代码生成工具介绍和使用 功能介绍 这个项目经过了大半年持续更新到目前阶段基本稳定 所有源代码都是开源,在github...https://github.com/neozhu/MVC5-Scaffolder 共享 整个项目结构,技术框架完全是基于http://genericunitofworkandrepositories.codeplex.com...已经实现基本功能 单个实体增删改查,都是通过easyui datagrid实现 实体类中定义了有关键字字段,会自动生成combox查询和编辑操作控件 实体类中定义了一对多...Master-Detail relationship Action and PageView 如果实体类中定义了和一对N集合类型,那么会自动生成主从关系操作页面和对应Controller...更新数据库 这里使用EntityFramework code-first模式创建数据访问类,因此当你修改了实体字段属性系统会重新更新实体数据库 打开 Package Manager

1.1K80

一步一步创建ASP.NET MVC5程序(十一)

最近Rector忙于换工作,没有太多时间来更新我们ASP.NET MVC 5系列文章 [一步一步创建ASP.NET MVC5程序Repository+Autofac+Automapper+SqlSugar...并使用母版页和部分视图重新组织了页面的共用区域HTML代码,本文我们将要涉及到内容为: 通用分页封装 文章分页实现 通用分页封装 在之前两期中,我们文章列表页面是没有分页功能,而是使用如下方法...,现在我们需要使用以上分页封装,在UI层来实现文章列表分页功能。...System.Linq; using System.Web.Mvc; using TsBlog.AutoMapperConfig; using TsBlog.Frontend.Extensions;...,当然,这个通用分页是非常简单,只能满足单数据分页查询和读取。

1.5K60
领券