EF框架 增、删、改、查

1、新增的两种方式

1.1直接新增

var classinfo = new ClassInfo()
            {
                Name = "2018173807",
                Remark = "七班",
                Term = 2,
                TeacherID = 1
            };
            db.ClassInfos.Add(classinfo);
            db.SaveChanges();

1.2改变状态新增

var student = new Student()
            {
                 ClassInfoID=1,
                 Name ="张三",
                 Remark ="厉害",
                 No="10",
                 Tel ="123123112",
                 StudentType =1,
                 IsAtCollege=true
            };
            db.Entry(student).State = System.Data.Entity.EntityState.Added;
            db.SaveChanges();

2.删除

2.1删除,先查询后删除,删除ID为3的

var a = db.ClassInfos.Find(3);
            db.ClassInfos.Remove(a);
            db.SaveChanges();

2.2、改变状态进行删除

 var clasinfo1 = new ClassInfo()
            {
                ID = 3
            };
            db.Entry(clasinfo1).State = System.Data.Entity.EntityState.Deleted;

2.3批量删除,备注为四班的批量删除
List classInfos1 = db.ClassInfos.Where(p => p.Remark == “四班”).ToList();
db.ClassInfos.RemoveRange(classInfos1);

3、修改

1:先查询后修改,这样不会影响其他字段

 var q = db.ClassInfos.Find(3);
            q.Name = "2018173804";
            db.SaveChanges();

2、//new 对象,将对象的状态改为修改状态,这样可能会将其他属性设置为空

var classinfo = new ClassInfo()
{
ID=2,
Name = “2018173808”,
Remark = “八班”,
Term = 2,
TeacherID = 1
};
db.Entry(classinfo).State = System.Data.Entity.EntityState.Modified;

4.查询

4.1://精确查询 查询班级是2018173805
var classinfo3 = db.ClassInfos.Where(p=>p.Name== "2018173805").ToList(); //没有ToList将只会有一个查询语句,不会有结果

4.2: //模糊查询 查询班级号含有2018的
var classinfo4 = db.ClassInfos.Where(p => p.Name.Contains("2018")).ToList(); //Contains就是包含的意思

4.3:组合查询 查询学期为1的,同时教师也是1的

  var classinfo5 = db.ClassInfos.Where(p => p.Term == 1 && p.TeacherID == 1).ToList();

4.4 组合查询 查询学期是1的或者教师也是1的

var classinfo6 = db.ClassInfos.Where(p => p.Term == 1 || p.TeacherID == 1).ToList();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EF(Entity Framework)是.NET Framework中的一种ORM(Object Relational Mapping)框架,可以用来简化数据库操作。下面是使用EF Web API进行增删改查的示例代码: 1. 加数据: ```csharp [HttpPost] public async Task<IActionResult> AddData([FromBody] Data data) { if (!ModelState.IsValid) { return BadRequest(ModelState); } _context.Data.Add(data); await _context.SaveChangesAsync(); return CreatedAtAction(nameof(GetData), new { id = data.Id }, data); } ``` 2. 除数据: ```csharp [HttpDelete("{id}")] public async Task<IActionResult> DeleteData(int id) { var data = await _context.Data.FindAsync(id); if (data == null) { return NotFound(); } _context.Data.Remove(data); await _context.SaveChangesAsync(); return NoContent(); } ``` 3. 修数据: ```csharp [HttpPut("{id}")] public async Task<IActionResult> UpdateData(int id, [FromBody] Data data) { if (id != data.Id) { return BadRequest(); } _context.Entry(data).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!_context.Data.Any(e => e.Id == id)) { return NotFound(); } else { throw; } } return NoContent(); } ``` 4. 询数据: ```csharp [HttpGet("{id}")] public async Task<ActionResult<Data>> GetData(int id) { var data = await _context.Data.FindAsync(id); if (data == null) { return NotFound(); } return data; } ``` 以上是EF Web API进行增删改查的示例代码,需要注意的是,这只是示例代码,具体实现还需要根据具体的业务逻辑进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值