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