首页 > 数据库技术 > 详细

在EF中使用原生SQL,首先要创建上下文对象

时间:2019-12-02 11:29:27      阅读:105      评论:0      收藏:0      [点我收藏+]

 

using (var db = new Entities())
{
    //数据操作
}

新增

string sql = "insert into UserInfo values(‘zhangsan‘,‘123456‘)";
    db.Database.ExecuteSqlCommand(sql);

参数化新增

技术分享图片
    sql = "insert into UserInfo values(@UserName,@UserPass)";
    var param = new SqlParameter[] 
    {
        new SqlParameter("@UserName","lisi"),
        new SqlParameter("@UserPass","123456")
    };
    db.Database.ExecuteSqlCommand(sql, param);
技术分享图片

删除

    sql = "delete from UserInfo where UserName=‘zhangsan‘";
    db.Database.ExecuteSqlCommand(sql);

参数化删除

    sql = "delete from UserInfo where UserName=@UserName";
    db.Database.ExecuteSqlCommand(sql, new SqlParameter("@UserName", "lisi"));

修改

    sql = "update UserInfo set UserName=‘wangwu‘";
    db.Database.ExecuteSqlCommand(sql);

查询多条记录

技术分享图片
    sql = "select * from UserInfo";
    var users = db.Database.SqlQuery<UserInfo>(sql);
    foreach (var user in users)
    {
        ObjectDumper.Write(user);//打印对象
    }
技术分享图片

总结:操作方式与ADO.NET类似,EF框架自动为我们封装了数据库链接和查询对象。

 

完整案例:

技术分享图片
//1.创建上下文对象
            using (var db = new Entities())
            {
                //增
                string sql = "insert into UserInfo values(‘zhangsan‘,‘123456‘)";
                db.Database.ExecuteSqlCommand(sql);

                //参数化新增
                sql = "insert into UserInfo values(@UserName,@UserPass)";
                var param = new SqlParameter[] 
                {
                    new SqlParameter("@UserName","lisi"),
                    new SqlParameter("@UserPass","123456")
                };
                db.Database.ExecuteSqlCommand(sql, param);

                //删
                sql = "delete from UserInfo where UserName=‘zhangsan‘";
                db.Database.ExecuteSqlCommand(sql);

                //参数化删除
                sql = "delete from UserInfo where UserName=@UserName";
                db.Database.ExecuteSqlCommand(sql, new SqlParameter("@UserName", "lisi"));

                //改
                sql = "update UserInfo set UserName=‘wangwu‘";
                db.Database.ExecuteSqlCommand(sql);

                //原生sql查询
                sql = "select * from UserInfo";
                var users = db.Database.SqlQuery<UserInfo>(sql);
                foreach (var user in users)
                {
                    ObjectDumper.Write(user);//打印对象
                }
            }
技术分享图片

 

在EF中使用原生SQL,首先要创建上下文对象

原文:https://www.cnblogs.com/wfy680/p/11969365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!