ASP.NET-EF基础知识
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET-EF基础知识相关的知识,希望对你有一定的参考价值。
定义
asp.net Entity Framework是微软以ADO.NET为基础发展出来的对象关系对应(OR Mapping)解决方案。
三种EF工作模式(自己理解的)
从数据库表创建类
从类创建数据库表
从数据模型创建数据库表和类
关于LOCALDB
C:\\Program Files\\Microsoft SQL Server\\110\\Tools\\Binn
文件夹下有一个文件
SqlLocalDB.exe
此软件为常规前台进程,不是后台服务进程,是一个localDB软件,可以使用命令行来进行数据库的操作
studio Express 是免费的
在EF中,通过System.Data.Entity.Core.Objects命名空间中IObjectContextAdapter接口的函数ObjectContext的扩展方法ExecuteFunction来实现数据的CUID操作
(IObjectContextAdapter)this).ObjectContext.ExecuteFunction("sp_alterdiagram", diagramnameParameter, owner_idParameter, versionParameter, definitionParameter);
}
使用EF对象来对数据库进行增删改查
///<summary>
/// 使用EF的ORM框架来对数据库进行增删改查
///
/// </summary>
SQLtestEntities sqlentity = new SQLtestEntities();
//增加行
Eftest eft1 = new Eftest() { ID = 3, name = "spike", password = "123", ds = "xiaolizi" };
sqlentity.Eftest.Add(eft1);
sqlentity.SaveChanges();
//查找行
var cc = sqlentity.Eftest.Select(s => s).Where(s => s.name == "spike");
foreach (var item in cc)
{
Console.WriteLine(item.ID + " " + item.name + " " + item.password + " " + item.ds);
}
sqlentity.SaveChanges();
//删除行
var eft4 = sqlentity.Eftest.Where(s => s.ID == 2).Select(s => s);
sqlentity.Eftest.Remove(eft4.FirstOrDefault());
var eft5 = sqlentity.Eftest.Where(s => s.name == "spike").Select(s => s);
sqlentity.Eftest.RemoveRange(eft5);
sqlentity.SaveChanges();
//更改行
var eft6 = sqlentity.Eftest.Where(s => s.name == "spike").Select(s => s);
Eftest eft7 = (Eftest)eft6.FirstOrDefault();
// eft7.ID = 10; // 这句是错误的,KEY的值不能修改,这就话搞不明白为什么
eft7.name = "spike";
eft7.password = "ji11";
eft7.ds = "this is a test for you ,my lover!";
sqlentity.SaveChanges();
Console.ReadKey();
edmx文件代码打开是这样的
SSDL content 数据存储模型
CSDL content 实体模型,定义的那些类在这里
C-S mappding content 数据-实体的关系映射
!--WizRtf2Html>!--more-->
以上是关于ASP.NET-EF基础知识的主要内容,如果未能解决你的问题,请参考以下文章
[vscode]--HTML代码片段(基础版,reactvuejquery)
[Go] 通过 17 个简短代码片段,切底弄懂 channel 基础