我有一个很大的令人讨厌的 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/