1 pièce(s) jointe(s)
traduction d'un objet C# en BDD
Bonjour,
J'ai crée un type VM_Livre ainsi
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 25 26 27 28 29 30 31 32 33 34 35 36 37
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace e_bibliotheque_MVC.Models
{
public class VM_Livre
{
[Key]
public int Id_Livre { get; set; }
[Required(ErrorMessage = "Veuillez saisir un titre")]
public string Title { get; set; }
public DateTime ParutionDate { get; set; }
[Required(ErrorMessage = "Veuillez saisir un auteur")]
public VM_Auteur auteur { get; set; }
public VM_Rayon rayon { get; set; }
public byte[] livreImage { get; set; }
public string livreImageType { get; set; }
public override string ToString()
{
return "{Title} {ParutionDate.ToString() {Rayon}";
}
}
} |
Comme vous pouvez le constater, ce type est composé de deux properties rayon de type VM_Rayon et auteur de type VM_auteur.
un VM_Rayon est ainsi defini
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace e_bibliotheque_MVC.Models
{
public class VM_Rayon
{
public int Id_rayon { get; set; }
public string NomRayon { get; set; }
public override string ToString()
{
return $"{Id_rayon} {NomRayon.ToString()} ";
}
}
} |
Quand la BDD a été créée avec l'initializer, j'ai obtenu une table VM_Auteur avec un champ rayon_Id_rayon et un champ rayon_NomRayon(voir capture ecran ci-jointe)
Or cela contredit les regles de contraintes d'integrité de BDD:je ne dois avoir dans la table VM_Livre qu'un champ rayon_Id_rayon FK qui fait le lien avec le champ Id_Rayon de la table VM_Rayon.
Comment modifier ceci sans avoir de problème de récuperation de données dans mes vues .cshtml
Merci beaucoup de votre aide.
Bien cordialement.
Nathalie Harbonne