EF实现增删改查

MVC+EF这一组合早就火遍大江南北了,现在有点快过气了。我没正点赶上二路汽车,就当做驴车过来的吧,重新回顾一下它们的用法,记录下来。

查询

public ActionResult Index(string Id)
{
    using (TestContext testContext = new TestContext())
    {
        int id = string.IsNullOrEmpty(Id) ? 2 : int.Parse(Id);
        //查询方法一
        //UserInfo userInfo = (from u in testContext.UserInfo where u.Id == id select u).FirstOrDefault();
        //查询方法二
        UserInfo userInfo = testContext.UserInfo.FirstOrDefault(a => a.Id == id);
        if (userInfo == null)
        {
            return View();
        }
        UserInfoModel model = new UserInfoModel()
        {
            Id = userInfo.Id,
            UserId = userInfo.UserId,
            UserName = userInfo.UserName,
            AddTime = userInfo.AddTime,
            Gender = userInfo.Gender
        };
        return View(model);
    }
}

添加

[HttpPost]
public void Add(UserInfoModel model)
{
    using (TestContext testContext = new TestContext())
    {
        UserInfo userInfo = new UserInfo()
        {
            Id = model.Id,
            UserId = model.UserId,
            UserName = model.UserName,
            AddTime = model.AddTime,
            Gender = model.Gender
        };
        testContext.UserInfo.Add(userInfo);
        //调用SaveChanges()才会执行Sql操作
        testContext.SaveChanges();
        //id值为自增主键的值
        int id = userInfo.Id;
        Index(id.ToString());
    }            
}

修改
无论是修改或是删除都需要先查询到对应的数据,然后再进行其他操作。

[HttpPost]
public void Edit(UserInfoModel model)
{
    using (TestContext testContext = new TestContext())
    {
        UserInfo userInfo = (from u in testContext.UserInfo where u.Id == model.Id select u).FirstOrDefault();
        userInfo.UserId = model.UserId;
        userInfo.UserName = model.UserName;
        userInfo.AddTime = model.AddTime;
        userInfo.Gender = model.Gender;
        testContext.SaveChanges();
    }
    Index(model.Id.ToString());
}

删除

[HttpPost]
public void Remove(UserInfoModel model)
{
    using (TestContext testContext = new TestContext())
    {
        UserInfo userInfo = (from u in testContext.UserInfo where u.Id == model.Id select u).FirstOrDefault();
        testContext.UserInfo.Remove(userInfo);
        testContext.SaveChanges();
    }
    Index(model.Id.ToString());
}

EF中使用Sql语句操作数据库

public string Delete(int Id)
{
    try
    {
        TestContext testContext = new TestContext();
        testContext.ExecuteStoreCommand(
            string.Format("delete from UserInfo where Id = {0} " ,Id));
        testContext.ExecuteStoreCommand("delete from UserInfo where Id=@Id and UserName=@UserName",new SqlParameter("@Id", 100),new SqlParameter("@UserName","果果修改"));
        testContext.Dispose();
        return "Success";
    }
    catch
    {
        return "Fail";
    }
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
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进行增删改查的示例代码,需要注意的是,这只是示例代码,具体实现还需要根据具体的业务逻辑进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

changuncle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值