相关疑难解决方法(0)

Linq存储过程返回XML

我正在使用Entity Framework代码优先方法.我想从DbContext类中调用存储过程并获取XML输出.

存储过程(SQL Server):

CREATE PROCEDURE xml_test    
AS
BEGIN
    DECLARE @xml1 xml

    SET @xml1 = (SELECT * from Product FOR XML RAW) 

    SELECT @xml1 AS my_xml
END
Run Code Online (Sandbox Code Playgroud)

LINQ实体框架:

using (DBContext db = new DBContext())
{
    var ProductList = await db.Database.ExecuteSqlCommandAsync("exec xml_test");
}
Run Code Online (Sandbox Code Playgroud)

这里的ProductList列表返回-1.

我想获取存储过程返回的xml输出.

注意:我也尝试了类似的方法:ExecuteSqlCommand,SqlQuery没有帮助.

c# xml linq stored-procedures entity-framework

7
推荐指数
3
解决办法
1995
查看次数

SELECT sql语句的ExecuteNonQuery不返回任何行

如何检查ExecuteNonQuery for SELECT sql语句后返回没有行返回没有行?

c# sql-server

6
推荐指数
2
解决办法
5万
查看次数

ASP.NET SQL Server存储过程返回Message

我有一个不需要任何参数的存储过程,并返回值0和消息:

(94 row(s) affected)

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

我的问题是如何获取消息:

(94 row(s) affected)

(1 row(s) affected)
Run Code Online (Sandbox Code Playgroud)

这是我调用存储过程的.NET方法:

public List<MessageClass> ChequesToUpdate()
{
    message = new List<MessageClass>();

    MessageClass item = new MessageClass();

    try
    {
        using (connection = new SqlConnection(connectionString))
        {
            connection.Open();

            using (SqlCommand command = new SqlCommand("MyStoredProcedure", connection))
            {
                command.CommandType = CommandType.StoredProcedure;

                command.ExecuteNonQuery();

                item.message = "message";
            }
        }
    }
    catch (Exception e)
    {
        item.message = e.Message;
    }
    finally
    {
        connection.Close();
    }

    message.Add(item);

    return message;
}
Run Code Online (Sandbox Code Playgroud)

我希望将信息传入item.message,我将如何实现这一目标?

c# sql-server asp.net stored-procedures

5
推荐指数
1
解决办法
1499
查看次数