Linq 增删改查

// 实例化实体对象,也可以在每个方法中实例化,这里实例化一个全局的,就可以少写很多代码
Demo2017Entities db = new Demo2017Entities();

查找

// 根据用户名称查找
public JsonResult GetUserByName(string name) {
    var list = ( from item in db.User
                 where (item.UserName.Contains(name))
                 select item).ToList();
    return Result200(list);
}

// 获取所有用户
public JsonResult GetUser() {
    var list = db.User.ToList();
    return Result200(list);
}

// 通过主键Id查找
public User GetUserById(string uId)
{
    User list = db.User.Find(new Guid(uId));
    return list;
}

// 分页查询
public JsonResult SelectPaging(int pagNum, int pagCount)
{
    IQueryable<User> temp = db.User
                            .OrderBy(e => e.Id)
                            .Skip(pagCount * (pagNum - 1))
                            .Take(pagCount);
    return Result200(temp);
}

// 查询部分列
public JsonResult SelectSomeCount()
{
    var temp = db.User
               .Select(u => new { u.Id, u,ShortName, OrderCount = u.OrderInfo.Count});
    return Result200(temp);
}

增添

public JsonResult InsertUser(User user) {
    try
    {
        db.User.Add(user);
        db.SaveChanges();
        return Result200("true");
    }
    catch {
        return Result330("false");
    }
}

删除

public JsonResult DelUser(string uid)
{
    try
    {
        db.User.Remove(GetUserById(uid));
        int count = db.SaveChanges();
        return Result200("true");
    }
    catch(Exception ex)
    {
        return Result330(ex.ToString());
    }
}

修改

// 方法1
public JsonResult UpdateUser(string uId, string name)
{
    try
    {
        var updateDate = db.User.First(item => item.Id == new Guid(uId));
        updateDate.UserName = name;
        int count = db.SaveChanges();
        if (count == 1)
        {
            return Result200("succes");
        }
        else
        {
            return Result330("false");
        }
    }
    catch (Exception ex)
    {
        return Result500();
    }
}

// 方法2
public JsonResult UpdateUserByAttach(User user)
{
    try
    {
        Console.WriteLine(db.Entry(user).State);
        db.User.Attach(user);
        db.Entry(user).State = System.Data.Entity.EntityState.Modified;
        var res = db.SaveChanges();
        return Result200("succeed");
    }
    catch
    {
        return Result500();
    }
}

// 部分更新
public JsonResult UpdateUserBySome(User user)
{
    try
    {
        db.Entry<User>(user).State = System.Data.Entity.EntityState.Unchanged; // 未修改状态
        db.Entry<User>(user).Property<string>(item => item.LoginPwd).IsModified = true; //标志属性UserName为修改状态
        db.Entry<User>(user).Property<string>(item => item.LoginName).IsModified = true; //标志属性UserName为修改状态
        var res = db.SaveChanges();
        return Result200("succeed");
    }
    catch
    {
        return Result500();
    }
}

前期配置请参考:https://blog.csdn.net/FenfsfDensting/article/details/84350212

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值