// 实例化实体对象,也可以在每个方法中实例化,这里实例化一个全局的,就可以少写很多代码
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