Error - Only primitive enumeration types or types are supported in this context in Asp.Net MVC

1

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;
    }}
    
asked by anonymous 07.06.2015 / 04:26

0 answers