EF中四種方式的增刪改查

1.在數據庫中創建存儲過程

--修改
create proc cp_update_role
(
@id int,
@name varchar(50),
@remark varchar(200)
)
as 
update roles set name=@name,remark=@remark where id=@id

select * from roles

--刪除
create proc cp_delete_role
(
@id int
)
as 
delete roles where id=@id

--查詢
create proc cp_select_role
(
@name varchar(50)
)
as 
select * from roles where name like'%'+@name+'%'

2.查詢方法

方式一

RbacDBEntities db = new RbacDBEntities();
  //方式1 select
    var roles1 = from r in db.Roles
                         where r.Name.Contains("主任")
                         select r;

方式二

var roles2 = db.Roles
                .Where(p => p.Name.Contains("主任"))
                .Select(p => p).ToList();

方式三調用sql語法

string sql = @"select * from roles  where name like '%主任%'";
            db.Database.SqlQuery<Role>(sql);
            db.SaveChanges();

方式四調用存儲過程

List<cp_select_role_Result> roles11=  db.cp_select_role("主任").ToList();
 Console.Read();

3.新增方法

方式一

RbacDBEntities db = new RbacDBEntities();
  //方式1 add
   Role r1 = new Role()
            {
                Name = "方式1",
                Remark = "備註1"
            };
            db.Roles.Add(r1);
            db.SaveChanges();

方式二

Role r2 = new Role()
            {
                Name = "方式2",
                Remark = "備註2"
            };
            db.Entry(r2).State = System.Data.Entity.EntityState.Added;
            db.SaveChanges();

方式三調用sql語法

 string sql = @"insert into roles values('方式3','備註3')";
            db.Database.ExecuteSqlCommand(sql);
            db.SaveChanges();

方式四調用存儲過程

 db.cp_insert_role("方法4", "備註4");
 Console.Read();

4.修改方法

方式一

RbacDBEntities db = new RbacDBEntities();
  //方式1 update
    Role r1 = db.Roles.Find(1074);
            r1.Name = "修改1";
            r1.Remark = "修改備註1";
            db.SaveChanges();

方式二

Role r2 = new Role()
            {
                ID = 1075,
                Name = "修改2",
                Remark = "修改備註2"
            };
            db.Entry(r2).State = System.Data.Entity.EntityState.Modified;
            db.SaveChanges();

方式三調用sql語法

 string sql = @"update roles set name='修改3',remark='修改備註3' where id=1076";
            db.Database.ExecuteSqlCommand(sql);
            db.SaveChanges();

方式四調用存儲過程

  db.cp_update_role(1077, "修改4", "修改備註4");
 Console.Read();

5.刪除方法

方式一

RbacDBEntities db = new RbacDBEntities();
  //方式1 delete
    Role r1 = db.Roles.Find(1074);
            db.Roles.Remove(r1);
            db.SaveChanges();

方式二

 Role r2 = new Role()
            {
                ID = 1075
            };
            db.Entry(r2).State = System.Data.Entity.EntityState.Deleted;
            db.SaveChanges();

方式三調用sql語法

 string sql = @"delete roles  where id=1076";
            db.Database.ExecuteSqlCommand(sql);
            db.SaveChanges();

方式四調用存儲過程

   db.cp_delete_role(1077);
 Console.Read();
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章