Asp.net mvc基础(十四)Entity Framework
一、EntityFramework介绍
1.ORM:Object Relation Mapping,用操作对象的方式来操作数据库
2.ORM工具有很多,其中Dapper、PetaPoco、NHibernate,Entity Framework都是通过ORM方式进行实现操作数据库
3.Entity Framework底层仍然是对ADO.Net的封装。EF支持SQL Server、Mysql、Oracle等主流数据库。
4.EF有三种创建方法:
(1)DataBase First(数据库优先)
(2)Model First(模型优先)
(3)Code First(代码优先)
二、EntityFramework的使用
1.使用EF连接数据库步骤
步骤一:创建表

步骤二:安装EntityFramework组件

步骤三:在App.config配置连接数据库的字符串

<connectionStrings>
<add name="conn1" connectionString ="Data Source=.;Initial Catalog=Test;User ID=sa;Password=123456" providerName="System.Data.SqlClient"/>
</connectionStrings>
步骤四:创建与表对应的模型类

步骤四:创建一个类,继承DbContext类

步骤五:增删查改操作

2.EF模型的两种配置方式
在EF中,默认是数据库表对应的是模型类的类名,表字段对应的是类的属性(属性名和表字段名一致)

如果在开发过程中因为某些原因表名为T_Students,而类名是Students无法对应,表的列名和类的属性不一致。可以通过配置模型类来实现一一对应关系。
方式一:DataAnnotations,方便简单,但是耦合度太高
在类名上添加[Table("表名")]
在属性上添加[Column("列名")]

方式二:FluenetAPI方式
(1)原来的类不变,增加一个对应的模型类的配置类,继承EntityTypeConfiguration<T>类,比如:模型类是Students,那么就定义一个StudentsConfig类,继承EntityTypeConfiguration<Students>

(2)继承DbContext类需要重写OnModelCreating方法

三、增删查改
1.增

2.删
先查询,然后删除
Remove删除数据

还可以根据RemoveRange()根据范围删除数据s据s
3.查

4.改(更新)
先查询,后修改

Asp.net mvc基础(十四)Entity Framework的更多相关文章
- ASP.NET开发实战——(十二)ASP.NET MVC 与数据库之Entity Framework Migrations
在开发数据库应用程序的时候,经常会遇到某些表需要添加字段或者修改类型.新增表等需求,而对于EF Code First来说关注的只有实体类,当需求变更时只需要添加新的实体类或者在实体类中添加.删除.修改 ...
- 3、ASP.NET MVC入门到精通——Entity Framework增删改查
这里我接上讲Entity Framework入门.从网上下载Northwind数据库,新建一个控制台程序,然后重新添加一个ado.net实体数据模型. EF中操作数据库的"网关"( ...
- ASP.NET没有魔法——ASP.NET MVC 与数据库之Entity Framework Migrations
在开发数据库应用程序的时候,经常会遇到某些表需要添加字段或者修改类型.新增表等需求,而对于EF Code First来说关注的只有实体类,当需求变更时只需要添加新的实体类或者在实体类中添加.删除.修改 ...
- 2、ASP.NET MVC入门到精通——Entity Framework入门
实体框架(Entity Framework)简介 简称EF 与ADO.NET关系 ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R ...
- ASP.NET MVC Model验证(四)
ASP.NET MVC Model验证(四) 前言 本篇主要讲解ModelValidatorProvider 和ModelValidator两种类型的自定义实现,前者是Model验证提供程序,而Mod ...
- ASP.NET MVC基础学习
ASP.NET MVC基础学习 传统的MVC概念 模型:组类,描述了要处理的数据以及修改和操作数据的业务规则 视图:定义应用程序用户界面的显示方式 控制器:一组类,用来处理来自用户,整个应用程序流以及 ...
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- ASP.NET MVC Model绑定(四)
ASP.NET MVC Model绑定(四) 前言 前面的篇幅对于Model绑定器IModelBinder以及实现类型.Model绑定器提供程序都作了粗略的讲解,可以把Model绑定器想象成一个大的容 ...
- ASP.NET MVC Model元数据(四)
ASP.NET MVC Model元数据(四) 前言 前面的篇幅讲解了Model元数据生成的过程,并没有对Model元数据生成过程的内部和Model元数据结构的详细解释.看完本篇后将会对Model元数 ...
- ASP.NET MVC下的四种验证编程方式[续篇]
在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注Validation ...
随机推荐
- Windows中利用任务计划执行进程守护
在Windows中除了开发专用的进程守护外,还可以利用任务计划做进程守护. 一.bat示例 tasklist | findstr "notepad" if %ERRORLEVEL% ...
- Netty实战入门教程
概述 Netty 是一个异步的.基于事件驱动的网络应用框架,用于快速开发可维护.高性能的网络服务器和客户端 Netty 在 Java 网络应用框架中的地位就好比:Spring 框架在 JavaEE 开 ...
- Keepalived基本原理
本文分享自天翼云开发者社区<Keepalived基本原理>,作者:Ujnrfc Keepalived简介 Keepalived是Linux下一个轻量级别的高可用解决方案.高可用:广义来讲, ...
- 使用天翼云云容器引擎CCE创建简单nginx服务
本文分享自天翼云开发者社区<使用天翼云云容器引擎CCE创建简单nginx服务>,作者:b****n 一.创建一个nginx应用. 1.选择资源池,如[杭州2],进入云容器引擎CCE平台页面 ...
- go的math/rand随机数生成器
伪随机数生成器,默认情况下随机数种子是固定的, 注意:固定的随机数种子每次生成的随机数都是相同的随机数序列 一.基础用法 math/rand 包提供了随机数生成的方法.常用的函数包括: rand.In ...
- linux--notepad++安装
通过PPA进行安装notepad++ sudo add-apt-repository ppa:notepadqq-team/notepadqq sudo apt-get update sudo a ...
- 表治理-Iceberg小文件合并测试
总结 指标 合并前 合并后(因测试中多次合并,数据会偏多) 查询速度 246秒 13秒 表总大小 9.2G 26.4G 单个文件大小 1-25MB 60MB左右 metadata目录文件数 37 75 ...
- RDK新一代模型转换可视化工具!!!
作者:SkyXZ CSDN:SkyXZ--CSDN博客 博客园:SkyXZ - 博客园 之前在使用的RDK X3的时候,吴诺老师@wunuo发布了新一代量化转换工具链使用教程,这个工具真的非常的方便, ...
- mysql之增删改
编写配置文件[db.properties]: driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/jdbcStudy?useUni ...
- GUI编程之AWT
介绍 包含了很多类和接口 元素:窗口.按钮.文本框 java.awt Frame 就是一个窗口 实现 package com.yeyue.lesson01;import java.awt.*;pu ...