EF框架对数据库的操作

基于网页的数据库操作:

传统方法:ADO.NET

通过ADO.NET对象调用SQL语句实现查询、修改、删除与插入新记录。

新的方法:ef

将传统的数据库转换为面向对象的实体(Entity),变成类的定义(数据库对应实体对象,传统table表对应表对象)

微软提供了:EntityFramework简称EF

实体框架

EF的好处:

避免SQL语法与C#语法混用;

全部采用可视化面向对象的语法。

都有实时的代码提示。

数据库建模的两种方法:

DB-FIRST  先有数据库,后有模型

(一般采用DB-FIRST)

CODE-FIRST 先建模,后根据模型生成数据库。

xsDBEntities mydb = new xsDBEntities( );

//生成实体类的一个对象mydb

xsBASETABLE myrecord = mydb.xsBASETABLE.First( );  //找到第一条记录

//生成学生基础表的一条记录,对应要删除的记录

mydb.xsBASETABLE.Remove(myrecord);   //删除模型中指定记录

mydb.SaveChanges();

//将对模型的操作保存到SQL SERVER中。

protected void Button1_Click(object sender, EventArgs e)

{

//添加记录

xsDBEntities mydb = new xsDBEntities();

xsBASETABLE myrecord = new xsBASETABLE( ) { xh="004",name="dddd", address="一栋101" };

//新建表的一条记录,直接在构造函数后赋值

mydb.xsBASETABLE.Add(myrecord);

//将新记录添加到模型中

mydb.SaveChanges();

//将对模型的操作保存到SQL SERVER中。

}

protected void Button3_Click(object sender, EventArgs e)

{

//修改记录

xsDBEntities mydb = new xsDBEntities();  //新建实体对象

xsBASETABLE myrecord = mydb.xsBASETABLE.First();   //找到第一条记录

myrecord.xh = "008";   //修改该记录的各个字段

myrecord.name = "LIMING";

myrecord.address = "四栋201";

mydb.SaveChanges();

//将对模型的操作保存到SQL SERVER中。

}

protected void Button4_Click(object sender, EventArgs e)

{  //查询代码

xsDBEntities mydb = new xsDBEntities();  //生成实体对象

xsBASETABLE myrecord = mydb.xsBASETABLE.First( ); //找到需要的记录

this.TextBox1.Text = myrecord.name;  //将该记录的某字段赋值给文本框

}

protected void Button4_Click(object sender, EventArgs e)

{

//查询任意条件的代码

xsDBEntities mydb = new xsDBEntities();  //生成实体对象

var myrecord = mydb.xsBASETABLE.

Where( c => c.xh == "005" && c.name="dddd"  );

//找到满足条件的记录集合

//var代表任意类型的变量

this.TextBox1.Text = myrecord.FirstOrDefault().name;

//将满足条件的记录集合中的第一条记录的某字段赋值给文本框

}

//多记录删除:

xsDBEntities mydb = new xsDBEntities();

var[U1]  myrecord[U2]  = mydb.xsBASETABLE.Where( n[U3] =>[U4] n.xh==[U5] "004" );  //找到满足条件记录的集合

foreach(var temp in myrecord )  //对集合中每一个对象循环操作

{

mydb.xsBASETABLE.Remove(temp);   //删除模型中指定记录

}

mydb.SaveChanges();

//将对模型的操作保存到SQL SERVER中。


[U1]代表任意数据类型。

Var A=3计算机知道a是整型。

[U2]变量集合

[U3]任意变量名称

[U4]Lambda 表达式

[U5]是C语言的句子。

时间: 2024-12-29 11:44:45

EF框架对数据库的操作的相关文章

MVC + EF 框架 对数据库做增删改查

这几天一直在看MVC 开发模式,其中借助EF框架对数据库进行 增删改查操作 现在就小小的总结一下吧 在使用EF操作数据库时,会首先添加 ADO.NET数据模型,这时,会为我们添加一个数据上下文类,使用这个类的对象可以对数据库做任何操作.所以在使用EF操作数据库之前 需要创建数据上下文对象. MyDatabaseEntities mde = new MyDatabaseEntities(); 1.使用EF 对数据库 做增加操作 1.1 创建一个需要被操作数据表的对象(一般来说 ,一张表就是一个实体

使用T4模板为EF框架添加数据库实体注释

网上有一个解决方法如下: http://www.cnblogs.com/stone_w/archive/2012/10/25/2738345.html 不过我试了下没解决太麻烦了 而且一旦EF要重新生成又的重新弄. 后来我查询 了一下资料,可以运用T4模板来解决这个问题. 1.  下载文件GetSummery.ttinclude,这里我提供了,大家去下载:下载 2.  把我们下载下来的文件解压,将解压出来的文件放入解决方案中 3. 修改下app.config,添加一个连接字符串: <add na

TP框架对数据库的操作

1.添加数据       1.1添加一条数据 $user = new User; $user->name = 'thinkphp'; $user->email = '[email protected]'; $user->save(); $user = new User; $user->save([ 'name' => 'thinkphp', 'email' => '[email protected]' ]); 1.2过滤非数据表字段的数据 $user = new Use

使用T4模板为EF框架添加数据库实体注释(转)

1. 下载文件GetSummery.ttinclude2. 把我们下载下来的文件解压,将解压出来的文件放入解决方案中3. 修改下app.config,添加一个连接字符串: <add name="MyConn" connectionString="data source=.;initial catalog=db;user id=sa;password=xxx;" providerName="System.Data.SqlClient" /&g

ThinkPhp框架的数据库操作(查询)

TP框架有一套自己的数据库操作的代码,包括数据库的增.删.改.查.本文主要讲解TP框架的数据库查询操作. 找到入口文件的控制器: 我这里的入口文件是Show文件夹下的控制器. 打开Login控制器. 代码写在index方法中. 数据库的定义方式有三种. 前两种要写模型函数,最后一种不需要. 模型的例子(放在Model文件夹下,名字与类名相同,本例的名字:UserModel.class.php) <?php namespace Admin\Model; use Think\Model; class

TP框架对数据库的基本操作

数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作 想要操作数据库,第一步必然是要:链接数据库 一.链接数据库 (1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件 我这里是这样的文件路径 (2)打开这个config.php文件,然后找到父类配置文件convention.php文件,将关于"数据库"的部分复制粘贴到config.php配置文件中 1 2 3 4 5 6 7 8 9 /

EF框架操作postgresql,实现WKT类型坐标的插入,查询,以及判断是否相交

1.组件配置 首先,要下载.NET for Postgresql的驱动,npgsql,EF6,以及EntityFramework6.Npgsql,版本号 3.1.1.0. 由于是mvc项目,所以,把相应的配置文件写在web.config里面,如下: 1 <configSections> 2 <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?L

C# CodeFirst(EF框架)代码优先创建数据库

namespace WebEF.Model{ public class ModelContext:DbContext //继承DBcontext 来自EF框架 { public ModelContext() : base("name=配置文件名") { //读取配置文件 /*配置文件的设置格式 <connectionStrings> <add name="配置文件名" connectionString="Data Source=(. .l

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(2)-数据库访问层的设计Demo ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建 前言:这篇博客我们继续来实现我的权限系列,这个博客一段时间也没有写了,重点是我在想还写不写,最终我决定还是写下去,因为我们是为了学习,当别人提出意见的时候,我们可以参考和采纳,但是我们不一定非要采纳,上几篇博客大家都说用CodeFirst来实现,是啊,现在基本很少有人用我的这种方法来实现了,都是用CodeF