C# MVC4无法隐式转换控制器中的类型模型
我试图通过存储过程从数据库中获取一些信息,然后将其从控制器传输到视图:C# MVC4无法隐式转换控制器中的类型模型,c#,asp.net-mvc-4,model,controller,type-conversion,C#,Asp.net Mvc 4,Model,Controller,Type Conversion,我试图通过存储过程从数据库中获取一些信息,然后将其从控制器传输到视图: [HttpPost] public ActionResult MostrarRecord(String Fecha) { ViewBag.Message = "Siga los pasos para completar el proceso..."; retail2Entities cl = new retail2Entities(); DateTime fe
[HttpPost]
public ActionResult MostrarRecord(String Fecha)
{
ViewBag.Message = "Siga los pasos para completar el proceso...";
retail2Entities cl = new retail2Entities();
DateTime fechaBase = Convert.ToDateTime(Fecha);
GetIndividualSensorRecord_Result Records = cl.GetIndividualSensorRecord(ViewBag.IDSENSOR, ViewBag.TIPOSENSOR, fechaBase);
return View(Records);
}
但是在运行时,我得到了下一个错误无法将类型“System.Data.Objects.ObjectResult”隐式转换为“DataRebuilder.Models.GetIndividualSensorRecord\u Result” 我如何才能正确实现这一点 如果我放置: var记录=cl.GetIndividualSensorRecord(ViewBag.IDSENSOR, ViewBag.TIPOSENSOR,fechaBase) 这是我的模型:
namespace DataRebuilder.Models
{
using System;
public partial class GetIndividualSensorRecord_Result
{
public System.DateTime date { get; set; }
public decimal idSensor { get; set; }
public bool enter { get; set; }
public Nullable<decimal> C01 { get; set; }
public Nullable<decimal> C02 { get; set; }
public Nullable<decimal> C03 { get; set; }
public Nullable<decimal> C04 { get; set; }
public Nullable<decimal> C05 { get; set; }
public Nullable<decimal> C06 { get; set; }
public Nullable<decimal> C07 { get; set; }
public Nullable<decimal> C08 { get; set; }
public Nullable<decimal> C09 { get; set; }
public Nullable<decimal> C10 { get; set; }
public Nullable<decimal> C11 { get; set; }
public Nullable<decimal> C12 { get; set; }
public Nullable<decimal> C13 { get; set; }
public Nullable<decimal> C14 { get; set; }
public Nullable<decimal> C15 { get; set; }
public Nullable<decimal> C16 { get; set; }
public Nullable<decimal> C17 { get; set; }
public Nullable<decimal> C18 { get; set; }
public Nullable<decimal> C19 { get; set; }
public Nullable<decimal> C20 { get; set; }
public Nullable<decimal> C21 { get; set; }
public Nullable<decimal> C22 { get; set; }
public Nullable<decimal> C23 { get; set; }
public Nullable<decimal> C00 { get; set; }
}}
namespace DataRebuilder.Models
{
使用制度;
公共部分类GetIndividualSensorRecord\u结果
{
public System.DateTime日期{get;set;}
公共十进制idSensor{get;set;}
公共bool输入{get;set;}
公共可空C01{get;set;}
公共可空C02{get;set;}
公共可空C03{get;set;}
公共可空C04{get;set;}
公共可空C05{get;set;}
公共可空C06{get;set;}
公共可空C07{get;set;}
公共可空C08{get;set;}
公共可空C09{get;set;}
公共可空C10{get;set;}
公共可空C11{get;set;}
公共可空C12{get;set;}
公共可空C13{get;set;}
公共可空C14{get;set;}
公共可空C15{get;set;}
公共可空C16{get;set;}
公共可空C17{get;set;}
公共可空C18{get;set;}
公共可空C19{get;set;}
公共可空C20{get;set;}
公共可空C21{get;set;}
公共可空C22{get;set;}
公共可空C23{get;set;}
公共可空C00{get;set;}
}}
这是在我的上下文中
public virtual ObjectResult<GetIndividualSensorRecord_Result> GetIndividualSensorRecord(Nullable<int> idsensor, Nullable<int> entrada, Nullable<System.DateTime> fech)
{
var idsensorParameter = idsensor.HasValue ?
new ObjectParameter("idsensor", idsensor) :
new ObjectParameter("idsensor", typeof(int));
var entradaParameter = entrada.HasValue ?
new ObjectParameter("entrada", entrada) :
new ObjectParameter("entrada", typeof(int));
var fechParameter = fech.HasValue ?
new ObjectParameter("fech", fech) :
new ObjectParameter("fech", typeof(System.DateTime));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<GetIndividualSensorRecord_Result>("GetIndividualSensorRecord", idsensorParameter, entradaParameter, fechParameter);
}
public virtual ObjectResult GetIndividualSensorRecord(可空idsensor、可空entrada、可空fech)
{
var idsensorParameter=idsensor.HasValue?
新的ObjectParameter(“idsensor”,idsensor):
新的ObjectParameter(“idsensor”,typeof(int));
var entradapameter=entrada.HasValue?
新的ObjectParameter(“entrada”,entrada):
新的ObjectParameter(“entrada”,typeof(int));
var fechParameter=fech.HasValue?
新对象参数(“fech”,fech):
新的ObjectParameter(“fech”,typeof(System.DateTime));
返回((IObjectContextAdapter)this).ObjectContext.ExecuteFunction(“GetIndividualSensorRecord”,idsensorParameter,EntradParameter,fechParameter);
}
我可以传输它,但是如何才能在视图中探索变量记录呢?例如,我的模型有10个对应的不同字符串
感谢您的帮助。我认为问题在于GetIndividualSensorRecord()返回ObjectResult,但您正在尝试将其设置为复杂类型GetIndividualSensorRecord\u Result。尝试执行.FirstOrDefault()您是否尝试过执行GetIndividualSensorRecord\u Result Records=cl.GetIndividualSensorRecord(ViewBag.IDSENSOR,ViewBag.TIPOSENSOR,fechaBase).ToList()?是的,但是存储过程只提供了1行不同列的数据,它不包含ToList()的定义我认为问题在于GetIndividualSensorRecord()返回ObjectResult,但您试图将其设置为复杂类型GetIndividualSensorRecord\u Result。试着做一个.FirstOrDefault()非常感谢!它与FirstOrDefault()一起工作。。。主要问题是调用存储过程时滥用了ViewBag!好!!我将把这个评论作为未来搜索者的答案