none
asp.net MVC3 créer un controleur à partir d'un model compositeViewModel qu'on vient de créer RRS feed

  • Discussion générale

  • Bonjour à vous tous, j'ai besoin de votre aide le plutot possible svp.

    J'ai besoin d'afficher les détails d'un Follower sur twitter (la classe CompteTwitter.cs) et la liste de ses Tweets (la claasse Tweet) sur une meme vue. 

    1) J'ai créer une classe nommée compoundView.cs dans le repertoire Models. Qui contient la classe suivante:

      namespace WebClientApplication.Models
    {public class CompoundView { public CompteTwitter comptetwitter { get; set; } public Tweet tweet { get; set; }}

        public class CompteTwitter
        { public decimal idCompteTwitter { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string description { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string name { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string url { get; set; }
            [DataType(DataType.Text)]
            public String screenName { get; set; }
            public decimal id { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string language { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string location { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string timeZone { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string profileImage { get; set; }

            public bool isFollower { get; set; }
        }

        public class Tweets { 
            public decimal idTweet;
            [Required]
            [DataType(DataType.Text)]
            public string texte;
            public int idProduct;
            public int idCampaign;
            [Required]
            [DataType(DataType.Text)]
            public string createdDate;
            public decimal idCompteTwitter;
        }
    }

    2)J'essaye de créer un controleur à partir de ce model (cad scaffolding controller with read/write actions and views.. ) et j'ai donnée la classe de context crmBDEntities . mais il m'affiche l'erreur suivante:  Unable to retreive metadata for WebClientApplication.Models.compoundView.Make sure there is an entity set defined on DAL.crmBDEntities for this type.

    • Type modifié Aurel Bera mercredi 5 mars 2014 10:07 disc
    lundi 3 mars 2014 07:41

Toutes les réponses

  • PS: voila ma connectionString:

    <connectionStrings>
        <add name="ApplicationServices" connectionString="data source=RIM-PC\SCHOOLFREEWARE;Initial Catalog=crmBD;User ID=sa;Password=rim;"
          providerName="System.Data.SqlClient" />
        <add name="crmBDEntities" connectionString="metadata=res://*/crm.csdl|res://*/crm.ssdl|res://*/crm.msl;&#xD;&#xA;         provider=System.Data.SqlClient;&#xD;&#xA;         provider connection string=&quot;&#xD;&#xA;          data source=RIM-PC\SCHOOLFREEWARE;&#xD;&#xA;          initial catalog=crmBD;&#xD;&#xA;        persist security info=True;&#xD;&#xA;         user id=sa;password=rim;&#xD;&#xA;          MultipleActiveResultSets=True;&#xD;&#xA;        App=EntityFramework&quot;"
          providerName="System.Data.EntityClient" />
        <add name="WebClientApplicationContext" connectionString="Data Source=(localdb)\v11.0; Initial Catalog=WebClientApplicationContext-20140302205639; Integrated Security=True; MultipleActiveResultSets=True; AttachDbFilename=|DataDirectory|WebClientApplicationContext-20140302205639.mdf"
          providerName="System.Data.SqlClient" />
      </connectionStrings>
    lundi 3 mars 2014 08:12
  • j'ai construit mon Model le voila:

    namespace WebClientApplication.Models
    {public class CompoundView { public CompteTwitter comptetwitter { get; set; } public Tweet tweets { get; set; }}

        public class CompteTwitter
        { public decimal idCompteTwitter { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string description { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string name { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string url { get; set; }
            [DataType(DataType.Text)]
            public String screenName { get; set; }
            public decimal id { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string language { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string location { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string timeZone { get; set; }
            [Required]
            [DataType(DataType.Text)]
            public string profileImage { get; set; }

            public bool isFollower { get; set; }
        }

        public class Tweets { 
            public decimal idTweet;
            [Required]
            [DataType(DataType.Text)]
            public string texte;
            public int idProduct;
            public int idCampaign;
            [Required]
            [DataType(DataType.Text)]
            public string createdDate;
            public decimal idCompteTwitter;
        }
    }

    Mais je bloque dans l'etape suivante j'arrive pas à créer un controleur de scafollding read/write qui prend comme classe Model la classe compoundView que j'ai créer. voila l'erreur qu'il m'affiche:

    Unable to retreive metadata for WebClientApplication.Models.compoundView.Make sure there is an entity set defined on DAL.crmBDEntities for this type.

    Je serai reconnaissante.

    • Fusionné Aurel Bera mardi 4 mars 2014 09:21 Duplicata
    lundi 3 mars 2014 12:24
  • Bonjour

    Essayez de marquer avec [Key] les Id des deux sous-classes.
    Aussi essayez d’ajouter un élément Id [Key] pour la classe CompteTwitter.

    Cordialement,


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mardi 4 mars 2014 09:18
  • Merci de ne plus poser plusieurs questions sur le même sujet.
    A suivre:
    http://social.msdn.microsoft.com/Forums/fr-FR/2ecc489e-c7ef-46b9-95c8-4019c6df095e/tutorial-pour-afficher-les-donnes-de-2-classes-dans-la-meme-vue?forum=vstudiofr

    Bonne Journée


    Aurel BERA, MSFT
    MSDN Community Support. LE CONTENU EST FOURNI "TEL QUEL" SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE.
    S'il vous plaît n'oubliez pas de "Marquer comme réponse" les réponses qui ont résolu votre problème. C'est une voie commune pour reconnaître ceux qui vous ont aidé, et rend plus facile pour les autres visiteurs de trouver plus tard la résolution.

    mercredi 5 mars 2014 10:06