Bonjour à tous et désolé si je ne suis pas au bon endroit pour poser cette question. Je tiens déjà à remercier tous ceux qui prendront un peu de leur précieux temps pour jeter un oeil à mon problème.
Bon sans plus tarder, j'entre dans le vif du sujet.. Je travaille dans une boite de développement et actuellement je suis sur une application web ASP.NET MVC avec VB.NET sous VS 2013. Pour des raisons que je ne vais pas citer (je ne pense pas que ce soit important), nous (équipe projet) avons décidé d'opter pour le Code First afin d'optenir notre base de données. Il s'avère donc que lors de la modélisation nous avons fait recours à la notion d'héritage. En effet nous avons trois classe (Region, Departement, Commune) qui ont la particularité d'être des collectivités territoriales (du point de vue de notre projet). De ce fait nous avons jugé bon de regrouper les attributs communs aux trois classes en une classe (Collectivite) et de faire appel à la notion d'héritage. Pour que tous le monde puisse suivre, voici le code des différentes classes concernées.
Nous avons pu obtenir notre base de données via le code first. Cette base de données contient donc les quatre tables ci-dessus et les tables filles dépendent de la table mère (collectivite). pour faire une insertion, dans l'une des tables filles, nous ajoutons d'abord un tuple dans la table mère qui a un identifiant auto-incrémenté. puis nous récupérons l'Identifiant en question pour l'insérer dans la table fille sur laquelle nous travaillons.
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 /*Ici c'est la classe Collectivite*/ Imports System Imports System.Collections.Generic Partial Public Class Collectivite Public Property Id As Long Public Property Code As String Public Property Libelle As String Public Property Superficie As Decimal Public Property Population As Decimal Public Property DateCreation As Date = Now Public Property UserId As String 'Public Overridable Property User As ApplicationUser Public Overridable Property PointAcces As ICollection(Of PointAcces) = New HashSet(Of PointAcces) End Class /*Ici c'est la classe Commune*/ Imports System Imports System.Collections.Generic Partial Public Class Commune Inherits Collectivite Public Property DepartementId As Long Public Overridable Property Departement As Departement Public Overridable Property BudgetCommune As ICollection(Of BudgetCommune) = New HashSet(Of BudgetCommune) Public Overridable Property ValeurChamps As ICollection(Of ValeurChamps) = New HashSet(Of ValeurChamps) End Class /*Ici c'est la classe Departement*/ Imports System Imports System.Collections.Generic Partial Public Class Departement Inherits Collectivite Public Property ChefLieu As String Public Property RegionId As Long Public Overridable Property Region As Region Public Overridable Property Communes As ICollection(Of Commune) = New HashSet(Of Commune) End Class /*Ici c'est la classe Region*/ Imports System Imports System.Collections.Generic Partial Public Class Region Inherits Collectivite Public Property ChefLieu As String Public Overridable Property Departements As ICollection(Of Departement) = New HashSet(Of Departement) End Class
La table Commune est reliée à une autre table appelée "Projet" via une relation (1..n) ---> (1..1), donc la clé de commune est clé étrangère dans projet. Je suis sur la réalisation d'un des états lié au projet et j'ai besoin de récupérer chaque projet ainsi que le nom de la commune concernée mais aussi celui du département et celui de la région car une région compte des départements qui elles à leur tour comptent des communes.
Je ne sais pas si j'ai été assez clair dans la formulation de mon problème. Je vous remercie d'avance pour vos solutions.![]()
Partager