ASP.NET EF四种方式实现增删查改

你熟练掌握了各种方式的增删查改了么,增删查改是代买编写最基本的知识,任何项目拆解出来都是增删查改,只要你能熟练的使用增删查改相信项目将不再是难点,楼主这篇文章将详细介绍 EF多种增删查改的实现方法,希望对大家有所帮助

  1. 查询
  2. 删除
  3. 修改
  4. 新增

查询

   RbacDBEntities db = new RbacDBEntities();
            //方式1 EF查询语法
            var roles1 = from r in db.Roles
                         where r.Name.Contains("主任")
                         select r;
            //方式2 EF方法语法
            var roles2 = db.Roles
                .Where(p => p.Name.Contains("主任"))
                .Select(p => p).ToList();
            //方式3 EF调用原生sql
            string sql = @"select * from roles  where name like '%主任%'";
            db.Database.SqlQuery<Role>(sql);
            db.SaveChanges();
            //方式4,EF调用存储过程
          List<cp_select_role_Result> roles11=  db.cp_select_role("主任").ToList();
            Console.Read();

删除

public static void Delete()
        {
            RbacDBEntities db = new RbacDBEntities();
            //方式1 EF Add
            Role r1 = db.Roles.Find(1074);
            db.Roles.Remove(r1);
            db.SaveChanges();
            //方式 EF 通过改变要删除对象的状态为 Deleted
            Role r2 = new Role()
            {
                ID = 1075

            };
            db.Entry(r2).State = System.Data.Entity.EntityState.Deleted;
            db.SaveChanges();
            //方式3 EF调用方sql
            string sql = @"delete roles  where id=1076";
            db.Database.ExecuteSqlCommand(sql);
            db.SaveChanges();
            //方式4,EF调用存储过程
            db.cp_delete_role(1077);
            Console.Read();
        }

修改

  public static void Edit()
        {
            RbacDBEntities db = new RbacDBEntities();
            //方式1 EF 查找要修改的对象 然后 .属性 赋值
            Role r1 = db.Roles.Find(1074);
            r1.Name = "修改1";
            r1.Remark = "修改备注1";
            db.SaveChanges();
            //方式2 EF 通过改变要删除对象的状态为 Modified
            Role r2 = new Role()
            {
                ID = 1075,
                Name = "修改2",
                Remark = "修改备注2"
            };
            db.Entry(r2).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();
            //方式3 EF调用方sql
            string sql = @"update roles set name='修改3',remark='修改备注3' where id=1076";
            db.Database.ExecuteSqlCommand(sql);
            db.SaveChanges();
            //方式4,EF调用存储过程
            db.cp_update_role(1077, "修改4", "修改备注4");
            Console.Read();

        }

新增

public static void ADD()
{
RbacDBEntities db = new RbacDBEntities();
//方式1 EF Add方法
Role r1 = new Role()
{
Name = “方式1”,
Remark = “备注1”
};
db.Roles.Add(r1);
db.SaveChanges();
//方式2 EF 通过改变要删除对象的状态为 Added
Role r2 = new Role()
{
Name = “方式2”,
Remark = “备注2”
};
db.Entry(r2).State = System.Data.Entity.EntityState.Added;
db.SaveChanges();
//方式3调用方sql
string sql = @“insert into roles values(‘方式3’,‘备注3’)”;
db.Database.ExecuteSqlCommand(sql);
db.SaveChanges();
//方式4,调用存储过程
db.cp_insert_role(“方法4”, “备注4”);
Console.Read();
}

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET MVC使用Entity Framework(EF实现增删查改(CRUD)非常简单,只需要遵循以下步骤: 1. 定义数据模型(Model) 在ASP.NET MVC中,数据模型(Model)是一个表示数据的类。它通常与数据库中的表相对应。您可以使用EF来创建和管理数据模型。例如,假设我们有一个Student类来表示学生数据: ```csharp public class Student { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } ``` 2. 创建数据库上下文(DbContext) 上下文(DbContext)是一组实体类的集合,它代表了与数据库的交互。我们可以使用EF创建上下文并将其与数据模型相关联。例如,假设我们有一个学生上下文: ```csharp public class StudentContext : DbContext { public DbSet<Student> Students { get; set; } } ``` 3. 实现控制器(Controller) 控制器(Controller)是处理HTTP请求的类。我们可以使用控制器来实现CRUD操作。例如,假设我们有一个名为StudentsController的控制器: ```csharp public class StudentsController : Controller { private readonly StudentContext _context; public StudentsController(StudentContext context) { _context = context; } // GET: Students public ActionResult Index() { return View(_context.Students.ToList()); } // GET: Students/Details/5 public ActionResult Details(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Student student = _context.Students.Find(id); if (student == null) { return HttpNotFound(); } return View(student); } // GET: Students/Create public ActionResult Create() { return View(); } // POST: Students/Create [HttpPost] [ValidateAntiForgeryToken] public ActionResult Create([Bind(Include = "Id,Name,Age")] Student student) { if (ModelState.IsValid) { _context.Students.Add(student); _context.SaveChanges(); return RedirectToAction("Index"); } return View(student); } // GET: Students/Edit/5 public ActionResult Edit(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Student student = _context.Students.Find(id); if (student == null) { return HttpNotFound(); } return View(student); } // POST: Students/Edit/5 [HttpPost] [ValidateAntiForgeryToken] public ActionResult Edit([Bind(Include = "Id,Name,Age")] Student student) { if (ModelState.IsValid) { _context.Entry(student).State = EntityState.Modified; _context.SaveChanges(); return RedirectToAction("Index"); } return View(student); } // GET: Students/Delete/5 public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Student student = _context.Students.Find(id); if (student == null) { return HttpNotFound(); } return View(student); } // POST: Students/Delete/5 [HttpPost, ActionName("Delete")] [ValidateAntiForgeryToken] public ActionResult DeleteConfirmed(int id) { Student student = _context.Students.Find(id); _context.Students.Remove(student); _context.SaveChanges(); return RedirectToAction("Index"); } } ``` 在上面的控制器中,我们实现了Index,Details,Create,Edit和Delete操作。这些操作通过调用上下文中的方法来执行CRUD操作。 4. 创建视图(View) 视图(View)是用户界面的一部分,用于显示数据。您可以使用Razor语法创建视图。例如,这是一个简单的Index视图: ```html @model IEnumerable<Student> <table> <tr> <th>Id</th> <th>Name</th> <th>Age</th> <th></th> </tr> @foreach (var item in Model) { <tr> <td>@item.Id</td> <td>@item.Name</td> <td>@item.Age</td> <td> @Html.ActionLink("Edit", "Edit", new { id = item.Id }) | @Html.ActionLink("Details", "Details", new { id = item.Id }) | @Html.ActionLink("Delete", "Delete", new { id = item.Id }) </td> </tr> } </table> ``` 在上面的视图中,我们使用了一个foreach循环来显示所有学生数据。我们还使用@Html.ActionLink方法创建了Edit,Details和Delete链接。 以上就是ASP.NET MVC使用EF实现CRUD操作的基本步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值