I have made my custom model to use in my View, and when I try to use it I get the error
The entity or complex type 'Prep2Model.TechProfile' cannot be constructed in a LINQ to Entities query.
And I don't know how to resolve it.
Here's my relevant classes and controller
Custom View Model
namespace Prep2.Models
{
public class MyProjectViewModel
{
public IEnumerable<Project> Project { get; set; }
public IEnumerable<MyProjectCustomObject> Data { get; set; }
}
}
MyProjectCustomObject
namespace Prep2.Models
{
public class MyProjectCustomObject
{
public int ProjectId { get; set; }
public string ProjectCustomer { get; set; }
public string ProjectName { get; set; }
public IEnumerable<TechProfile> ProjectTechProfile { get; set; }
public int MemberId { get; set; }
public string MemberRole { get; set; }
public short? MemberStart { get; set; }
public short? MemberEnd { get; set; }
}
}
Controller
var Projects = from a in db.Project
select a;
var Data = from a in db.Member
where a.Person.PersonId.Equals(Id)
select new MyProjectCustomObject
{
ProjectId = a.Project.ProjectId,
ProjectCustomer = a.Project.Customer,
ProjectName = a.Project.Name,
ProjectTechProfile = a.Project.TechProfile.Select(x => new TechProfile()
{
TechProfileId = x.TechProfileId,
Name = x.Name,
Elements = x.Elements
}),
MemberId = a.MemberId,
MemberRole = a.Role,
MemberStart = a.Start,
MemberEnd = a.End
};
var MyViewModel = new MyProjectViewModel();
MyViewModel.Project = Projects;
MyViewModel.Data = Data;
//return ViewModel to View.
return View(MyViewModel);