0
点赞
收藏
分享

微信扫一扫

[原创]EntityFramework实现增删改查

westfallon 2022-03-30 阅读 41

17-2-23

EF数据库表一定要有主键

【EF实现修改和删除】

ctx.Entry<UserInfoTable>(user).State = System.Data.Entity.EntityState.Modified;

#region 增加操作
/*
//1.实例化一个上下文对象
var ctx = new UserInfoEntities();

//2.实例化一个模型对象并且给对象赋值
UserInfoTable user = new UserInfoTable();
user.UserName = "Futao00";
user.Pwd = "1223";
user.Sex = "男";
user.Tel = "18797811992";

//3.对数据库进行一个添加操作(告诉EF实体操作的类型curd)
ctx.UserInfoTable.Add(user);
//ctx.UserInfoTable.Remove();
//4.同步到数据库,这个时候数据库才会进行curd
ctx.SaveChanges();
*/
#endregion

//修改的时候要指定主键的值,只能根据主键进行crud,所以EF的数据表必须设置自己的主键

#region 修改删除操作

//1.实例化上下文对象

UserInfoEntities dbContext = new UserInfoEntities();

//2.实例化实体对象,同时指定对象的主键和对象修改之后的值

UserInfoTable userA = new UserInfoTable();

userA.UserName = "Futao"; //指定主键

//userA.Tel = "xxx";

//userA.Pwd = "xxx";

//userA.Sex = "xxx";

userA.Sex = "000000";
//3.告诉EF对该对象进行的操作
//dbContext.Entry<UserInfoTable>(userA).State = System.Data.Entity.EntityState.Modified;
//单独修改某一个属性的时候要先Attach上
dbContext.UserInfoTable.Attach(userA);
//dbContext.Entry<UserInfoTable>(userA).Property<string>(u => u.Sex).IsModified = true;
dbContext.Entry(userA).Property("Sex").IsModified = true;
//dbContext.Entry<UserInfoTable>(userA).State = System.Data.Entity.EntityState.Deleted;
//4.保存到数据库
dbContext.SaveChanges();
#endregion


#region 查询操作
UserInfoEntities dbContext = new UserInfoEntities();
//遍历所有数据
foreach (var v in dbContext.UserInfoTable)
{
Console.WriteLine(v.UserName + "\t" + v.Pwd + "\t" + v.Sex + "\t" + v.Tel);
}
//按条件查询Linq
var tempSQL = from u in dbContext.UserInfoTable
where u.Pwd == "123"
select u.UserName + "\t" + u.Pwd + "\t" + u.Sex + "\t" + u.Tel;

//再打印输出查询结果
foreach (var x in tempSQL)
{
Console.WriteLine(x);
}
#endregion

补充:实体Entity是什么,实体与模型Model之间的关系

​​​​

lambda表达式

Linq

【课后作业】

(以组为单位打包发送,邮件)

时间:下周一,17-2-27之前

目标:实现课程信息的增删改查

备注:课程信息:课程编号(主键),课程名称,授课老师(教师编号),备注

要求:

1.建立数据库,表

2.建立控制台程序,EF实体模型

3.实现表的增删改查,其中增,删,改提供SQL语句(数据库Profilter监测到的SQL语句)

举报

相关推荐

0 条评论