c# - 如何调用返回带空格的列的存储过程

标签 c# asp.net-mvc stored-procedures entity-framework-6

我正在尝试使用实体 6.0 调用存储过程。查看这些解决方案后herehere ,他们没有解决问题。问题是返回的列之一中有空格(我无法更改存储过程)。我已尝试以下方法但没有成功:

MyModel.cs

using System;
...

namespace ...
{
    public class MyModel
    {
        [Display(Name = "ID")]
        public string id{ get; set; }

        [Display(Name = "Number Of ID")]
        [Column("Number Of ID")]
        public int number_Of_ID { get; set; }

    }

    public class MyModelContext : DbContext
    {
        public DbSet<MyModel> MyModels{ get; set; }
    }
}

MyController.cs

using System;
...

namespace ...
{
    public class MyController : Controller
    {
        private MyEntities db = new MyEntities ();

        public ActionResult Index()
        {

            var query = @"exec usp_getIds";

            var results = db.Database.SqlQuery<MyModel>(query);
            return View(results);
        }
    }

调试代码时,我的模型具有 id 值,但没有 number_Of_ID 值。该值始终为 0。我还尝试将数据类型更改为 string,但它返回 null。请帮忙。

最佳答案

您的意思是列名或值中有空格吗?

对于存储过程 usp_getIds,您应该能够执行以下操作:

List<usp_getIds_Result> results = db.usp_getIds().ToList();

当您将过程添加到模型时,会自动创建 usp_getIds_Result 类。

尝试一下看看是否有帮助。

关于c# - 如何调用返回带空格的列的存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37997190/

相关文章:

C# dll 中的 C# 转换异常

c# - 如何将c#中的列表转换为javascript中的数组并检查数组项

asp.net-mvc - ServiceStack CustomAuthenticationMvc 管理员密码?

asp.net-mvc - 我们应该如何将数据传递到大型 ASP.NET MVC 网站中的 View

sql - 如何找到指向另一个数据库的存储过程

MySQL 查询与过程问题

c# - 使用“移动然后复制”覆盖锁定的文件

时间:2019-03-17 标签:c#Linq with complex result

c# - 后台工作人员完成后,我想更改表单上的标签。我应该在哪里添加这段代码?

stored-procedures - 在 Sybase ASE 15.0 中处理从一个存储过程到另一个存储过程的错误