当前位置: 首页 > news >正文

推广平台网站制作驾校网站建设方案

推广平台网站制作,驾校网站建设方案,室内设计师联盟网站,花生壳动态域名做网站无论ORM有多么强大#xff0c;总会出现一些特殊的情况#xff0c;它无法满足我们的要求。在这篇文章中#xff0c;我们介绍几种执行SQL的方法。 表结构 在具体内容开始之前#xff0c;我们先简单说明一下要使用的表结构。 public class Category{ public …无论ORM有多么强大总会出现一些特殊的情况它无法满足我们的要求。在这篇文章中我们介绍几种执行SQL的方法。 表结构 在具体内容开始之前我们先简单说明一下要使用的表结构。 public class Category{                public int CategoryID { get; set; }        public string CategoryName { get; set; }} 在Category定义了两个字段CategoryID、CategoryName。 public class SampleDbContext : DbContext{           public virtual DbSetCategory Categories { get; set; }               protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)        {            var sqlConnectionStringBuilder new SqlConnectionStringBuilder {DataSource 10.0.1.5,InitialCatalog TestDataBase,UserID sa,Password ******};optionsBuilder.UseSqlServer(sqlConnectionStringBuilder.ConnectionString);                   base.OnConfiguring(optionsBuilder);}                             protected override void OnModelCreating(ModelBuilder modelBuilder)        {            base.OnModelCreating(modelBuilder);EntityTypeBuilderCategory entityTypeBuilder modelBuilder.EntityCategory();entityTypeBuilder.ToTable(Category);entityTypeBuilder.HasKey(e e.CategoryID);entityTypeBuilder.Property(e e.CategoryID).UseSqlServerIdentityColumn();}} 我们使用SampleDbContext来访问数据库。 FromSql执行SQL语句 Entity Framework Core为DbSetTEntity提供了一个扩展方法FromSql用于执行SQL语句或存储过程以下示例使用FromSql加载所有的数据。 using (var dataContext new SampleDbContext()) {        var query dataContext.Categories.FromSql(select * from Category);                    var result query.ToList();} 对于带有参数的SQL语句我们使用C# 6 语法将SQL写成如下 using (var dataContext new SampleDbContext()) {        var categoryID 1;            var query dataContext.Categories.FromSql($select * from Category where CategoryID{categoryID});                    var result query.ToList();} 注意这里不是直接使用拼接的方式处理SQL而是转化为参数化的SQL语句这有助于防止SQL注入攻击。我们可以使用SQL Server Profiler帮我们验证 exec sp_executesql Nselect * from Category where CategoryIDp0,Np0 int,p01 如果您不使用C# 6的语法特征我们必须使用 p0、p1 ... pn 做为SQL语句的参数 using (var dataContext new SampleDbContext()) {                   var categoryID 1;                   var categoryName Product;            var query dataContext.Categories.FromSql(select * from Category where CategoryIDp0 and CategoryNamep1categoryID, categoryName);                       var result query.ToList();Assert.NotNull(result);} 在上述SQL语句中中将p0映射到categoryID、 p1映射到categoryName。 FromSql扩展方法返回的是IQueryableTEntity对象要们还可以接着使用一些Linq的方法示例如下 using (var dataContext new SampleDbContext()) {           var categoryID 1;                 var query dataContext.Categories.FromSql(select * from Category).Where(item item.CategoryID categoryID).OrderBy(item item.CategoryName);                    var result query.ToList();} 不过在这里使用的是子查询使用SQL Server Profiler捕获到的SQL语句如下 exec sp_executesql NSELECT [item].[CategoryID], [item].[CategoryName]FROM (    select * from Category) AS [item]WHERE [item].[CategoryID] __categoryID_1ORDER BY [item].[CategoryName],N__categoryID_1 int,__categoryID_11 提示使用FromSql时需要在执行的SQL语句中返回所有列并且列名必须与实体属性名相匹配否则执行会出错。 FromSql执行存储过程 存储过程与SQL语句写法基本一致使用存储过程的示例如下 using (var dataContext new SampleDbContext()) {           var categoryID 1;                 var query dataContext.Categories.FromSql($GetCategoryById {categoryID});           var result query.ToList();Assert.NotNull(result);} 这些参数的顺序必须与存储过程参数的顺序一致。 提示使用FromSql执行存储过程时如果使用Where、OrderBy等Linq语法这些操作不会生成SQL语句而是在.Net中对存储过程返回的集合进行过滤与排序。 ExecuteSqlCommand 在DbContext暴露了一个Database属性它包括一个ExecuteSqlCommand方法。此方法返回一个整数表示执行的SQL语句影响的行数。有效的操作是INSERT、UPDATE和DELETE不能用于返回实体。 using (var dataContext new SampleDbContext()){                  var categoryID 1;                  var categoryName Product;           var result dataContext.Database.ExecuteSqlCommand($UPDATE dbo.Category SET CategoryName{categoryName} WHERE CategoryID{categoryID});} 总结 本节介绍了Entity Framework Core中执行SQL语句和存储过程的几种方法 希望对您有帮助谢谢 相关文章 全球首发免费的MySql for Entity Framework Core.NET Core 使用Dapper 操作MySQL在.NET Core中使用MySQL5.7的JSON类型字段全文索引 - Pomelo.EFCore.MySqlEntity Framework Core 生成跟踪列在Apworks数据服务中使用基于Entity Framework Core的仓储Repository实现Entity Framework Core的贴心优雅处理带默认值的数据库字段Entity Framework Core 实现MySQL 的TimeStamp/RowVersion 并发控制Entity Framework Core 软删除与查询过滤器Entity Framework Core 命名约定全文索引 - Pomelo.EFCore.MySqlEntity Framework Core 批处理语句 原文地址http://www.cnblogs.com/tdfblog/p/execute-sql-stored-procedure-in-entity-framework-core.html .NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.pierceye.com/news/7334/

相关文章:

  • 网站毕业设计代做工业园网站建设
  • 郑州网站优化的微博_腾讯微博怎么用dw网站怎么建设
  • 孵化器网站建设方案平台经济是什么意思
  • 如何创建一个属于自己的网站推广软文营销案例
  • 做外贸怎么网站找客户通化北京网站建设
  • 做系统和做网站哪个简单一些免费站推广网站2022
  • 私募基金公司网站建设大发 wordpress ifanr
  • 高唐建筑公司网站苏州软件开发
  • 网站建设项目简介培训网站完整页面
  • 万博法务网站怎么优化整站
  • 网站建设是不是要有营业执照宿迁做网站需要多少钱
  • 2018建设网站成立中英文网站建设工作领导小组
  • 外贸网站建设公司价格江苏镇江论坛
  • 做网站买虚拟服务器南京网站如何制作
  • 如何做直接打开网站的二维码郑州专业做网站
  • 中国能源建设集团网站群做腰椎核磁证网站是 收 七
  • 建个门户网站百度提交wordpress
  • 怎么用VS2012建设网站中企动力企业邮箱下载
  • 怎么做搜索功能网站工作总结范文模板大全
  • 私人pk赛车网站怎么做网页制作工具分哪两类
  • 嘉兴 网站 建设东莞网站优化一般多少钱
  • 网站开发竞争对手分析安康市建设局网站
  • 高端网站定制的方法如何做公司的网站建设
  • 合肥网站优化软件金山西安网站建设
  • 学做网站应该看那些书给网站建设提意见
  • 用什么系统程序做评测网站互联网软件开发是什么工作
  • 留电话的广告网站新网站如何做排名
  • 临海网站开发公司电话海尔网站建设目的
  • 中国建设领域专业人员网站网站的推广方式
  • 仿网站视频教程创建一个网站的最常用的方法是先建立一个文件夹