Comment puis-je résoudre ce Système“.Les données.De l'entité.DynamicProxies” erreur

Je suis Linq et EF le Premier Code et suis tombé sur un problème que je ne peux pas comprendre. Je suis en train d'établir une preuve de concept le programme d'examen de l'aide de ASP.Net des Formulaires Web, EF le Premier Code et Linq. Les idées, c'est que j'ai créer la page du serveur des contrôles dynamiquement à partir de la base de données. J'ai construit cette même demande avant sans EF, mais a été l'espoir d'apprendre que sur ce projet. Je peux obtenir des résultats corrects si j'utilise un littéral mais je reçois une erreur lors de la liaison de données un RadioButtonList.

DataBinding: 'System.Data.Entity.DynamicProxies.Choice_EA448AD48C19F54FBB6BF09B7A03BA899DBE75EC189635A8982E7C3B1D8F4ABD' does not contain a property with the name '4'.

Line 34:                 content.Controls.Add(ql);
Line 35:                 ql.DataSource = choices;
Line 36:                 ql.DataBind();            
Line 37:         }

De la propriété avec le nom de " 4 " est juste une valeur dans ma base de données. Je ne sais pas si ce problème est lié à Chargement Paresseux ou tout simplement un manque de connaissances dans le bon Linq mais je serais vraiment reconnaissant si quelqu'un peut me pointer dans la bonne direction.

Voici mes trois fichiers de Classe je suis aide et le C# page que je suis en train de construire. Gardez à l'esprit j'ai l'intention de séparer les données d'accès dans une autre classe, mais a été tout simplement essayer d'obtenir une démo de travail pour moi-même.
De l'examen.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;

///<summary>
///Summary description for Exam
///</summary>
public class Exam
{    
    public int ExamId { get; set; }

    public string Title { get; set; }

    public string Description { get; set; }

    public bool Status { get; set; }

    public DateTime DateCreated { get; set; }

    public string CreatedBy { get; set; }

    public virtual ICollection<Question> Questions { get; set; }
}

Question.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

///<summary>
///Summary description for Question
///</summary>
public class Question
{
    public int QuestionId { get; set; }

    public string QuestionText { get; set; }

    public int Order { get; set; }

    public DateTime DateCreated { get; set; }

    public bool Status { get; set; }

    public string CreatedBy { get; set; }

    public string QuestionType { get; set; }

    public int ExamId { get; set; }

    public virtual Exam Exam { get; set; }

    public virtual ICollection<Choice> Choices { get; set; }
}

Choix.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

///<summary>
///Summary description for Choice
///</summary>
public class Choice
{
    public int ChoiceId { get; set; }

    public string ChoiceText { get; set; }

    public int Order { get; set; }

    public bool Status { get; set; }

    public bool Correct { get; set; }

    public DateTime DateCreated { get; set; }

    public string CreatedBy { get; set; }

    public int QuestionId { get; set; }

    public virtual Question Question { get; set; }
}

Tests.aspx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Testing : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
ExamsContext db = new ExamsContext();
var questions = (from c in db.Exams
from q in c.Questions
where c.ExamId == 1
select q).ToList();
ContentPlaceHolder content = (ContentPlaceHolder)this.Master.FindControl("MainContent");
foreach (var question in questions)
{
Literal questionLabel = new Literal();
questionLabel.Text = Convert.ToString(question.QuestionId) + ".&nbsp;" + question.QuestionText + "<br/>";
content.Controls.Add(questionLabel);
var choices = (from c in question.Choices select c).ToList();
RadioButtonList ql = new RadioButtonList();   
foreach (var choice in choices)
{
ql.DataValueField = Convert.ToString(choice.ChoiceId);
ql.DataTextField = choice.ChoiceText;
}
content.Controls.Add(ql);
ql.DataSource = choices;
ql.DataBind();            
}        
}
}

OriginalL'auteur sthurston | 2015-02-11