查询和实体框架核心

查询和实体框架核心

本文介绍了原始 SQL 查询和实体框架核心的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将我的应用程序迁移到 ASP.NET MVC Core 和 Entity Framework Core,我发现了问题.我对这样的实体有原始 SQL 查询

I migrate my application to ASP.NET MVC Core and Entity Framework Core and i found problem. I have raw SQL query to entity like this

var rawSQL = dbContext.Database.SqlQuery<SomeModel>("Raw SQL Query").ToList();

但是context.Database中没有SqlQuery.您有解决此问题的方法吗?

But there is no SqlQuery<T> in context.Database. Do you have solution for this problem?

推荐答案

确保添加 using Microsoft.Data.Entity;因为您可以使用一种扩展方法.

Make sure you add using Microsoft.Data.Entity;because there is an extension method you could use.

var rawSQL = dbContext.SomeModels.FromSql("your SQL");

更好的是,使用原始 SQL(存在 SQL 注入攻击的风险),此 FromSql 方法允许您使用参数化查询,例如:

Even better, instead using raw SQL (at risk of SQL injections attacks) this FromSql method allows you to use parameterized queries like:

dbContext.SomeModels.FromSql("SELECT * FROM dbo.Blogs WHERE Name = @p0", blogName);

这篇关于原始 SQL 查询和实体框架核心的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-15 14:30