As explained in this link Only parameterless constructors and initializers are supported in LINQ to Entities
return View(db.Cursos.ToList().Select(c => new CursoInscricoes(c, db.AlunoCursos.FirstOrDefault(ac => ac.Aluno.Equals(aluno) && ac.Curso.Equals(c)) != null)));
Error: NotSupportedException was unhandled by user code
Can not create a constant value of type 'MyProject. Models.Aluno '. Only primitive enumeration types or types are supported in this context. "
The error falls in this snippet of code here new CursoInscricoes(c, db.AlunoCursos.FirstOrDefault(ac => ac.Aluno.Equals(aluno) && ac.Curso.Equals(c)) != null)));
Could someone help me solve it?!
Model Student
namespace MeuProjeto.Models {
public class Aluno
{
[Key]
public int Id { get; set; }
[Required(ErrorMessage = "O campo Nome é obrigatório")]
[MinLength(4, ErrorMessage = "O campo Nome deve ter no mínimo 4 caracteres")]
[Display(Name = "Nome")]
public string Nome { get; set; }
[Display(Name = "CPF")]
[Required(ErrorMessage = "O campo CPF é obrigatório")]
[Index(IsUnique = true)]
[CPFAtributo]
public string CPF { get; set; }
[Display(Name = "RG")]
public string RG { get; set; }
[Display(Name = "E-mail")]
[Required(ErrorMessage = "O campo E-mail é obrigatório")]
[RegularExpression(@"\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*", ErrorMessage = "Endereço de e-mail informado não é válido.")]
public string Email { get; set; }
[Display(Name = "Usuário")]
[MinLength(4, ErrorMessage = "O campo Usuário deve ter no mínimo 4 caracteres")]
[Required(ErrorMessage = "O campo Usuário é obrigatório")]
public string Usuario { get; set; }
[Display(Name = "Senha")]
[Required(ErrorMessage = "O campo Senha é obrigatório")]
public string Senha { get; set; }
[Display(Name = "Telefone Celular")]
[Required(ErrorMessage = "Informe um número de Celular")]
public string Telefone_Celular { get; set; }
[Display(Name = "Endereço")]
[Required(ErrorMessage = "O Endereço é obrigatório")]
public string Endereco { get; set; }
[Display(Name = "Estado")]
[Required(ErrorMessage = "Informe um Estado")]
public string Estado { get; set; }
[Display(Name = "Matrícula")]
[Required(ErrorMessage = "Informe a Matrícula")]
public string Matricula { get; set; }
public string Perfil { get; set; }
public virtual ICollection<AlunoCurso> AlunoCursos { get; set; }
public Aluno()
{
}
}
}
Model StudentCourse
namespace MeuProjeto.Models {
public class AlunoCurso
{
[Key]
public int Id { get; set; }
public int AlunoId { get; set; }
public int CursoId { get; set; }
public bool Aprovado { get; set; }
public virtual Aluno Aluno { get; set; }
public virtual Curso Curso { get; set; }
}}
This My Class CursoInscricoes
namespace MeuProjeto.Models {
public class CursoInscricoes
{
public Curso Curso { get; set; }
public bool Inscrito { get; set; }
public CursoInscricoes(Curso curso, bool inscrito)
{
this.Curso = curso;
this.Inscrito = inscrito;
}}