【问题标题】:Problem when calling the Stored Procedure in Console application using EF6使用 EF6 在控制台应用程序中调用存储过程时出现问题
【发布时间】:2020-03-02 08:43:11
【问题描述】:

我试图在我的控制台应用程序中执行一个存储过程,但我得到的是我想要调用的句子的打印。

我创建的存储过程:

create proc Checked
@Links nvarchar(MAX)
as
SELECT CASE 
WHEN EXISTS (
    SELECT ID
    FROM News
    WHERE LinkNews = @Links
)
THEN CAST(1 AS BIT)
ELSE CAST(0 AS BIT) END

以及我在控制台应用程序中调用存储过程的方法:

using (DbContextClass db = new DbContextClass())
{
    SqlParameter p = new SqlParameter("@Links", "http://www.newsline-ye.com/news7527.html");
    IEnumerable<New> n = db.Database.SqlQuery<New>("exec Checked @Links", p);
    Console.WriteLine(n);               
}
Console.ReadKey();

我的问题它给了我这个输出“exec Checked @Links”句子

谁能帮我解决我的问题?

【问题讨论】:

标签: c# sql-server entity-framework console-application


【解决方案1】:
List<SqlParameter> sqlParameters = new List<SqlParameter>()
{
    new SqlParameter("Links", p);
}

string query = "EXECUTE Checked @Links";

var result = db.Database.SqlQuery<bool>(query, sqlParameters.ToArray());

【讨论】:

  • 还是没有变化
  • 但是您只从 SP 返回 bool
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-27
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
相关资源
最近更新 更多