EF的四种增删改查

新建四个存储过程

--新增
create proc cp_insert (
@name varchar(50),
@remark varchar(200)
)
as
insert into Roles values(@name,@remark)

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

--删除
create proc cp_delete (
@id int
)
as
delete Roles where id=@id

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

1、增加

方法一

            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();

2、删除

方法一

            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();

3、修改

方法一

            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();

4、查询

方法一

            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();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值