c# - asp.net mvc 5 SQL查询中的命名参数

标签 c# asp.net asp.net-mvc entity-framework orm

我有一个很大的令人讨厌的 SQL 查询要在 asp.net mvc 5 中运行,它应该返回一个非数据库表对象,并且需要参数化。

即。

context.Database.SqlQuery<MyObject>("select a, b from table where a = @par")

我可以在其中将 @par 的值作为参数传递

class MyObject {
  public a {get;set;}
  public b {get;set;}
}

无论出于何种原因,msdn 文档都假定人们不可能执行除了最简单的查询之外的任何查询... https://msdn.microsoft.com/en-us/data/jj592907.aspx

最佳答案

给定:

var myPar = 1;

要使用参数,请尝试:

context.Database.SqlQuery<MyObject>("select a, b from table where a = @par", new SqlParameter("par", myPar));

或者:

context.Database.SqlQuery<MyObject>("select a, b from table where a = {0}", myPar);

关于c# - asp.net mvc 5 SQL查询中的命名参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443335/

相关文章:

c# - 用双引号将 ASP.NET 控件括起来

javascript - 在 Razor 中使用包含 '@' 的 javascript 正则表达式

c# - 为什么存储库模式在 Entity Framework 中被广泛使用,好像它很复杂?

c# - 0.1在浮点运算和小数中如何表示

c# - 如何增加 Http Post 中的项目大小

c# - 即时创建模型

asp.net - 是否可以在 GridView (ASP.NET) 上执行 linq 查询?

.net - 使用 ASP.NET MVC 身份验证的 "Remember me"不起作用

c# - 内存管理——我是否应该担心在状态机中调整长期存在的临时对象数组的大小?

c# - 如何防止保存文件 asp.net mvc 4 应用程序