zoukankan      html  css  js  c++  java
  • EF5执行sql查询语句 Database.SqlQuery 带返回值;EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ;

    1 //一: 执行sql语句,返回受影响的行数
    2 
    3 //在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过
    4 
    5 using (var ctx = new MyDbContext())
    6 {
    7     ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1");
    8 }
     1 //二 : Database.SqlQuery<T>   EF5执行sql查询语句 Database.SqlQuery 带返回值
     2 
     3 //这个准确的说是  IEnumerable<T> SqlQuery<T>(string sql, params object[] parameters)  ,注意返回值是 IEnumerable
     4 
     5 //这个是执行sql语句,返回你想要的类型的列表
     6 
     7 dbMain.Database.SqlQuery<int>("select max(UserId) from tb_user_account").First();
     8 
     9 // 或者假如你自己有个类别
    10 
    11 public class PersonView
    12 {
    13     public int PersonID { get; set; }
    14     public string Name { get; set; }
    15 }
    16 
    17 //那么就可以直接返回这个 PersonView类 
    18 using (var ctx = new MyDbContext())
    19 {
    20     var peopleViews = ctx.SqlQuery<PersonView>("SELECT PersonID, Name FROM Person").ToList();
    21 }
    22 
    23 // 直接返回你想要的数据. 例如这里是 List<PersonView> 列表
     1 // 利用 Database.SqlQuery<T> 执行存储过程,并返回Output参数值
     2 
     3 var pCount = this._dataProvider.GetParameter();
     4 pCount.ParameterName = "totalCount";
     5 pCount.Direction = ParameterDirection.Output;
     6 pCount.DbType = DbType.Int32;
     7  
     8 var list = this._dbContext.SqlQuery<User>("exec P_GetList @totalCount out", pCount).ToList();
     9 
    10 
    11 //必须要加 .ToList(),否则获取不到 存储过程 的 Output 参数
  • 相关阅读:
    02-Maven安装配置
    01-Maven功能特点
    安装Jenkins服务
    Python操作Saltstack
    基于Python自动上传包到nexus仓库
    避免代码merge后无法构建发布(GItlabCI + Jenkins)
    SonarQube-Centos环境设置为系统服务
    SonarQube配置LDAP认证集成
    Centos7 搭建Go语言编译环境
    OpenShift-EFK日志管理
  • 原文地址:https://www.cnblogs.com/allenzhang/p/10405624.html
Copyright © 2011-2022 走看看