Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Invité régulier
    Homme Profil pro Bastien
    Développeur .NET
    Inscrit en
    mars 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Nom : Homme Bastien
    Localisation : France

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

    Informations forums :
    Inscription : mars 2011
    Messages : 28
    Points : 7
    Points
    7

    Par défaut Insertion en base via un service Azure Mobile

    Bonjour à tous,

    Je suis en train de tester Windows Azure, et j'aimerais créer un utilisateur, avec un droit associé.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    public class Utilisateur
    {
         public int Id { get; set; }
     
         [DataMember(Name = "login")]
         public string Login { get; set; }
     
         [DataMember(Name = "droit")]
         public Droit Droits { get; set; }
     
         [DataMember(Name = "password")]
         public string Password { get; set; }
    }
     
    public class Droit
    {
        public int Id { get; set; }
     
        [DataMember(Name = "label")]
        public string Label { get; set; }
     
        [DataMember(Name = "image")]
        public string Image { get; set; }
    }
    Du côté de Azure, j'ai deux tables créées : Utilisateur et Droit.

    La création d'un droit fonctionne parfaitement :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    IMobileServiceTable<Droit> droitTable = App.MobileService.GetTable<Droit>();
    var items = await droitTable.Where(i => i.Label == label).ToListAsync();
    if (items == null || !items.Any())
    {
        var droit = new Droit
        {
            Label = label,
            Image = string.Empty
        };
    await droitTable.InsertAsync(droit);
    }
    Cependant, lorsque je souhaite ajouter un utilisateur avec une association à un droit donné (de la façon suivante) :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    IMobileServiceTable<Utilisateur> tableUser = App.MobileService.GetTable<Utilisateur>();
    var users = await tableUser.Where(i => i.Login == "Bastien").ToListAsync();
    if (users == null || !users.Any())
    {
        var droit = await App.MobileService.GetTable<Droit>().Where(i => i.Label == "Administrateur").Take(1).ToListAsync();
        var user = new Utilisateur
        {
            Login = "Nom_utilisateur",
            Password = "Pass_utilisateur",
            Droits = droit.FirstOrDefault()
        };
        await tableUser.InsertAsync(user);
    }
    J'ai une erreur :
    Cannot serialize member 'droit' of type 'portable_pome.Data.Droit' declared on type 'Utilisateur'.
    Que cela signifit-il ? Qu'ai-je oublié pour faire fonctionner la jointure ?

    Merci d'avance !

  2. #2
    Expert Confirmé
    Avatar de GuruuMeditation
    Homme Profil pro Olivier Matis
    .Net Architect
    Inscrit en
    octobre 2010
    Messages
    1 618
    Détails du profil
    Informations personnelles :
    Nom : Homme Olivier Matis
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : .Net Architect
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2010
    Messages : 1 618
    Points : 3 252
    Points
    3 252

    Par défaut

    Je ne suis pas spécialiste Azure, mais je crois que les Mobile Services sont encore un peu limite question fonctionnalités. Il semble qu'il n'accepte que des types de base (string,bool,datetime, type numerique,...)

    voir :

    http://blogs.msdn.com/b/carlosfiguei...ple-types.aspx

    http://blogs.msdn.com/b/carlosfiguei...tionships.aspx
    Microsoft MVP : Windows Platform

    MCPD - Windows Phone Developer
    MCPD - Windows Developer 4

    http://www.guruumeditation.net

    “If debugging is the process of removing bugs, then programming must be the process of putting them in.”
    (Edsger W. Dijkstra)

  3. #3
    Invité régulier
    Homme Profil pro Bastien
    Développeur .NET
    Inscrit en
    mars 2011
    Messages
    28
    Détails du profil
    Informations personnelles :
    Nom : Homme Bastien
    Localisation : France

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

    Informations forums :
    Inscription : mars 2011
    Messages : 28
    Points : 7
    Points
    7

    Par défaut

    Ok et bien on va adapter tout ça !
    Merci de ta réponse rapide

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •