IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Only parameterless constructors and initializers are supported in LINQ to Entities


Sujet :

ASP.NET MVC

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 92
    Points
    92
    Par défaut Only parameterless constructors and initializers are supported in LINQ to Entities
    salut a vous
    je souhaite afficher sous forme de liste un ensemble d'informations predefinis dans mon modele mais lorque j'essaye de lancer l'affichage une exception de type NotSupportedException est levee en m'indiquant
    Only parameterless constructors and initializers are supported in LINQ to Entities

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     // modele
    	    public class EtudiantModel
        {
     
            [Required]
            [DisplayName("First name")]
            public string FirstName { get; set; }
     
            [Required]
            [DisplayName("Last name")
            public string LastName { get; set; }
     
            [Required]
            [DisplayName("Sexe")]
            public string Sexe { get; set; }
     
            [Required]
            [DisplayName("Numero")]
            public int? Numero { get; set; }
     
            [Required]
            [DisplayName("Contact")]
            public string Contact { get; set; }
     
     
            [Required]
            [DisplayName("Matricule")]
            public string Matricule { get; set; }
     
            [Required]
            [DataType(DataType.EmailAddress)]
            [DisplayName("Email address")]
            public string Email { get; set; }
     
            [Required]
            [DisplayName("EtudiantId")]
            public int EtudiantId { get; set; }
     
            [Required]
            [DisplayName("Cycle")]
            public string Cycle { get; set; }
     
            [Required]
            [DisplayName("options")]
            public string options { get; set; }
     
     
            [Required]
            [DisplayName("Groupe")]
            public string groupe { get; set; }
     
            [Required]
            [DisplayName("Niveau")]
            public string Niveau { get; set; }
     
            public EtudiantModel()
            { }
     
     
            public EtudiantModel(string firstname, string lastname,string sexe,int?numero,string contact,string matricule,string email,string cycle,string option,string group,string niveau)
            {
                // TODO: Complete member initialization
     
                FirstName = firstname;
                LastName = lastname;
                Sexe = sexe;
                Numero = numero;
                Contact = contact;
                Matricule = matricule;
                Email = email;
                Cycle = cycle;
                options = option;
                groupe = group;
                Niveau = niveau;
     
            }
     
     
        }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    	//mon controller
    	   public ActionResult ListeEtudiant()
            {
               // ViewData.Model = _db.Etudiants.ToList();
               // return View();
     
     
                var EtudiantListe = from et in _db.Etudiants
                                    join etm in _db.EtudiantMatieres
                                    on et.EtudiantId equals etm.EtudiantId
                                    select new EtudiantModel(et.FirstName,et.LastName,et.Sexe,et.Numero,et.contact,et.Matricule,et.Email,etm.Cycles,etm.options,etm.groupe,etm.Niveau);
     
                ViewData.Model = EtudiantListe;
                return View();
            }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    		//ma vue
    		<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApplication3.Models.EtudiantModel>>" %>
     
    <asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    	ListeEtudiant
    </asp:Content>
     
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
     
        <h2>Liste des Etudiants</h2>
     
        <table>
            <tr>
                <th></th>
                <th>
                    FirstName
                </th>
                <th>
                    LastName
                </th>
                <th>
                    Sexe
                </th>
                <th>
                    Numero
                </th>
                <th>
                    Contact
                </th>
                <th>
                    Matricule
                </th>
                <th>
                    Email
                </th>
                <th>
                    Cycle
                </th>
                <th>
                    options
                </th>
                <th>
                    groupe
                </th>
                <th>
                    Niveau
                </th>
            </tr>
     
        <% foreach (var item in Model) { %>
     
            <tr>
                <td>
                    <%: Html.ActionLink("Edit", "EditEtudiant", new { id = item.EtudiantId})%> |
                    <%: Html.ActionLink("Delete", "DeleteEtudiant", new { id = item.EtudiantId })%>
                </td>
                <td>
                    <%: item.FirstName %>
                </td>
                <td>
                    <%: item.LastName %>
                </td>
                <td>
                    <%: item.Sexe %>
                </td>
                <td>
                    <%: item.Numero %>
                </td>
                <td>
                    <%: item.Contact %>
                </td>
                <td>
                    <%: item.Matricule %>
                </td>
                <td>
                    <%: item.Email %>
                </td>
                <td>
                    <%: item.Cycle %>
                </td>
                <td>
                    <%: item.options %>
                </td>
                <td>
                    <%: item.groupe %>
                </td>
                <td>
                    <%: item.Niveau %>
                </td>
            </tr>
     
        <% } %>
     
        </table>
     
        <p>
            <%: Html.ActionLink("Create New Etudiant", "AddEtudiant") %>
        </p>
     
    </asp:Content>

    pour ma part je ne conprend pas vraiment l'exception car je pense avoir depuis mon modele definis mon constructeur et meme l' initialisation de ces parametres.
    ainsi toute aide, assistance ou conseil serait la bienvenue.
    a++

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Il faut que tu ajoutes un constructeur sans paramètre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public EtudiantModel()
    {
    }

  3. #3
    Membre régulier
    Inscrit en
    Novembre 2010
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Novembre 2010
    Messages : 221
    Points : 92
    Points
    92
    Par défaut Only parameterless constructors and initializers are supported in LINQ to Entities
    salut a vous et merci pour l'assistance si je ne me trompe mon constructeur possède déjà un constructeur sans paramètres ceci à la ligne 56 de mon modèle.

    a++

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par narutoe Voir le message
    salut a vous et merci pour l'assistance si je ne me trompe mon constructeur possède déjà un constructeur sans paramètres ceci à la ligne 56 de mon modèle.

    a++
    Au temps pour moi, je l'avais pas vu...

    Par contre, ce n'est pas celui que tu appelles dans ta requête : tu appelles le constructeur avec des paramètres, et Linq to Entities ne supporte pas ça. Il faut faire comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
                var EtudiantListe = from et in _db.Etudiants
                                    join etm in _db.EtudiantMatieres
                                    on et.EtudiantId equals etm.EtudiantId
                                    select new EtudiantModel
                                    {
                                        FirstName = et.FirstName,
                                        LastName = et.LastName,
                                        // etc...
                                    };

Discussions similaires

  1. [Apache CloudStack] templates and Iso are not available when adding an instance
    Par cloud.fatma dans le forum Création de Clouds
    Réponses: 1
    Dernier message: 04/09/2014, 12h07
  2. Réponses: 0
    Dernier message: 21/02/2014, 10h52
  3. [PHP 5.4] array_count_values : Can only count STRING and INTEGER values
    Par akkyshan dans le forum Langage
    Réponses: 1
    Dernier message: 31/10/2012, 12h05
  4. [Optim Code]equals and hashCode are not paired
    Par anitshka dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 15/09/2006, 23h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo