ViewModel返回意外数据

时间:2014-01-17 11:44:40

标签: c# asp.net-mvc viewmodel edmx

在我的数据第一个.edmx文件中,我有一个部分类问题;我创建了一个ViewModel来填充我的View并为我的问题提交一个表单。

虽然我的提交ViewModel工作得很好,但是我得到了一个非常意外的返回来获取ViewModel。在调试期间,我可以看到我需要的所有数据,但ViewModel也返回

{System.Data.Entity.DynamicProxies.Question_AC5369E927D7DA13E53B81D39BBD14BEBF05146E3CC12E147A7CB4C32F869EF9}

我和控制器都不知道如何处理。正如我所说,它也将返回我所有其他必需的字段,但是在第一次奇怪的回归中打破。

有没有人有类似的结果?

根据要求,我的视图模型;

public class GetQuestionViewModel
   {
    public class Question { 
    public Question Questions { get; set; }
    public Response Response { get; set; }
    }
    public GetQuestionViewModel()
    {
        this.QuestionOptions = new HashSet<QuestionOption>();
        this.Responses = new HashSet<Response>();
    } 
    [Key]
    public int Id { get; set; }
    public int PageNumber { get; set; }
    public string Question1 { get; set; }
    public int QuestionTypeId { get; set; }
    public Nullable<int> LinkedTo { get; set; }
    public Nullable<int> Options { get; set; }
    public Nullable<int> QuestionRanking { get; set; }

    public virtual ICollection<QuestionOption> QuestionOptions { get; set; }
    public virtual QuestionType QuestionType { get; set; }
    public virtual ICollection<Response> Responses { get; set; }
    }

行动;

        [HttpGet]
    public ActionResult ViewQuestion(int? id)
    {
        if (id == null || id == 0 || id > 13)
        {
            id = 8;
        }

        Question question = db.Questions.Find(id);

        if (question == null)
        {
            return HttpNotFound();
        }
        return View(question);
    }

1 个答案:

答案 0 :(得分:0)

你看到的是正常的,是动态生成的代理,以便延迟加载工作。您可以尝试使用以下方法禁用此行为:

context.ContextOptions.ProxyCreationEnabled = false;

在EDMX设计师中也可以全局关闭。