Hello,
I am learning MVC to develop a new project.
I'm looking at this example and modifying it with your controls:
https://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application
To summarize: I have these 3 classes
public class Student
{
public int ID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
public enum Grade
{
A, B, C, D, F
}
public class Enrollment
{
public int EnrollmentID { get; set; }
public int CourseID { get; set; }
public int StudentID { get; set; }
public Grade? Grade { get; set; }
public virtual Course Course { get; set; }
public virtual Student Student { get; set; }
}
public class Course
{
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int CourseID { get; set; }
public string Title { get; set; }
public int Credits { get; set; }
public virtual ICollection<Enrollment> Enrollments { get; set; }
}
I want to show all Students in a grid:
View code:
@(Html.EJ().Grid<ContosoUniversity.Models.Student>("FlatGrid")
.Datasource((IEnumerable<object>)ViewBag.datasource)
.AllowSorting()
.AllowPaging()
.Columns(col =>
{
col.Field("LastName").HeaderText("LastName").IsPrimaryKey(true).TextAlign(TextAlign.Right).Width(75).Add();
col.Field("FirstMidName").HeaderText("FirstMidName").Width(80).Add();
col.Field("EnrollmentDate").HeaderText("EnrollmentDate").TextAlign(TextAlign.Right).Width(75).Add();
}))
Controller code
// GET: Student
public ActionResult Index()
{
ViewBag.datasource = db.Students.ToList();
return View();
}
When I run, I get this error

If I modify the Student class
public class Student
{
public int ID { get; set; }
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
//public virtual ICollection<Enrollment> Enrollments { get; set; }
}
The application runs perfectly
Thanks