Bonjour à tous,
Je suis en train de tester Windows Azure, et j'aimerais créer un utilisateur, avec un droit associé.
Du côté de Azure, j'ai deux tables créées : Utilisateur et Droit.
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 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; } }
La création d'un droit fonctionne parfaitement :
Cependant, lorsque je souhaite ajouter un utilisateur avec une association à un droit donné (de la façon suivante) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
J'ai une erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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); }
Que cela signifit-il ? Qu'ai-je oublié pour faire fonctionner la jointure ?Cannot serialize member 'droit' of type 'portable_pome.Data.Droit' declared on type 'Utilisateur'.
Merci d'avance !
Partager