エンティティ6.0を使用してストアドプロシージャを呼び出そうとしています。これらの解決策を探した後、彼らは問題を解決しなかった。hereとhere。問題は、返された列の1つにスペースがあることです(ストアドプロシージャを変更できません)。ノー成功を収めて、次の試してみましたしました:空の列を返すストアドプロシージャを呼び出す方法
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
を返します。助けてください。
number_of_IDは、スペースもモデルに文字列をフィールドを作ることができれば - そのように、番号が戻ってくるだろう、とあなたはキャストすることができますそれが数字であることを検証した後でそれを使用するコード内にある。 –
残念ながら、私は文字列を使用しようとし、 'null'を返します。 – usr4896260