Bonjour,

J'ai créé un projet c# avec une classe d'objet représentant les tables de ma BDD (code first avec EF5). Aujourd'hui, j'aimerais générer un backup de ma BDD depuis mon application c#. Soit créer un script SQL, ou une meilleur idée si vous en avez.

Pourriez-vous m'indiquer des exemples de code pour parvenir à mes fins svp ? C'est très urgent :/.

Merci !

voici des extrait de code de mes classe :

mon db context :
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
namespace App_Clinique.ClassLibrary.DbContext
{
    using App_Clinique.ClassLibrary.Entities;
    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Data.Entity.ModelConfiguration.Conventions;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
 
    public class App_cliniqueContext : DbContext
    {
        public DbSet<Actualite> Actualite { get; set; }
        public DbSet<Consultation> Consultation { get; set; }
        public DbSet<Document> Document { get; set; }
        public DbSet<Medicament> Medicament { get; set; }
        public DbSet<OrdonnancesMedicaments> OrdonnancesMedicaments { get; set; }
        public DbSet<Patient> Patient { get; set; }
 
        public App_cliniqueContext()
            : base("App_cliniqueContext")
        {
 
        }
 
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<Actualite>().ToTable("Actualite", "dbo");
            modelBuilder.Entity<Consultation>().ToTable("Consultation", "dbo");
            modelBuilder.Entity<Document>().ToTable("Document", "dbo");
            modelBuilder.Entity<Medicament>().ToTable("Medicament", "dbo");
            modelBuilder.Entity<OrdonnancesMedicaments>().ToTable("OrdonnancesMedicaments", "dbo");
            modelBuilder.Entity<Patient>().ToTable("Patient", "dbo");
 
            /****************************************************************************************************
             * 
             ***************************************************************************************************/
            modelBuilder.Entity<Consultation>()
                        .HasRequired(Consultation => Consultation.Patient)
                        .WithMany(Patient => Patient.Consultations)
                        .HasForeignKey(Consultation => Consultation.PatientID)
                        .WillCascadeOnDelete(true);
 
            modelBuilder.Entity<Consultation>()
                        .HasOptional(Consultation => Consultation.Ordonnance)
                        .WithMany()
                        .HasForeignKey(Consultation => Consultation.OrdonnanceID)
                        .WillCascadeOnDelete(false);
 
            modelBuilder.Entity<Document>()
                        .HasRequired(Document => Document.Patient)
                        .WithMany()
                        .HasForeignKey(Document => Document.PatientID)
                        .WillCascadeOnDelete(false);
 
            modelBuilder.Entity<ArretMaladie>()
                        .HasOptional(ArretMaladie => ArretMaladie.DossierMedical)
                        .WithMany(DossierMedical => DossierMedical.ArretsMaladie)
                        .HasForeignKey(ArretMaladie => ArretMaladie.DossierMedicalID)
                        .WillCascadeOnDelete(false);
 
            modelBuilder.Entity<Ordonnance>()
                        .HasOptional(Ordonnance => Ordonnance.DossierMedical)
                        .WithMany(DossierMedical => DossierMedical.Ordonnances)
                        .HasForeignKey(Ordonnance => Ordonnance.DossierMedicalID)
                        .WillCascadeOnDelete(false);
 
            modelBuilder.Entity<OperationChirurgicale>()
                        .HasOptional(OperationChirurgicale => OperationChirurgicale.DossierMedical)
                        .WithMany(DossierMedical => DossierMedical.OperationChirurgicales)
                        .HasForeignKey(OperationChirurgicale => OperationChirurgicale.DossierMedicalID)
                        .WillCascadeOnDelete(false);
 
            modelBuilder.Entity<Ordonnance>()
                        .HasRequired(Ordonnance => Ordonnance.Consultation)
                        .WithMany()
                        .HasForeignKey(Ordonnance => Ordonnance.ConsultationID)
                        .WillCascadeOnDelete(false);
 
            modelBuilder.Entity<OrdonnancesMedicaments>()
                        .HasRequired(OrdonnancesMedicaments => OrdonnancesMedicaments.Ordonnance)
                        .WithMany(Ordonnance => Ordonnance.OrdonnancesMedicaments)
                        .HasForeignKey(OrdonnancesMedicaments => OrdonnancesMedicaments.OrdonnanceID)
                        .WillCascadeOnDelete(true);
 
            modelBuilder.Entity<OrdonnancesMedicaments>()
                        .HasRequired(OrdonnancesMedicaments => OrdonnancesMedicaments.Medicament)
                        .WithMany(Medicament => Medicament.OrdonnancesMedicaments)
                        .HasForeignKey(OrdonnancesMedicaments => OrdonnancesMedicaments.MedicamentID)
                        .WillCascadeOnDelete(true);
 
            modelBuilder.Entity<Patient>()
                        .HasOptional(Patient => Patient.Document)
                        .WithMany()
                        .HasForeignKey(Patient => Patient.DocumentID)
                        .WillCascadeOnDelete(false);
        }
    }
 
    public class App_cliniqueInitializer : DropCreateDatabaseIfModelChanges<App_cliniqueContext>
    {
        protected override void Seed(App_cliniqueContext context)
        {
 
        }
    }
}
une classe (table) :
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
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace App_Clinique.ClassLibrary.Entities
{
    [Serializable]
    public partial class Medicament
    {
        public Medicament()
        {
 
        }
 
        [Column("MedicamentID", Order = 0), DatabaseGenerated(DatabaseGeneratedOption.None), Key]
        public virtual Int64 MedicamentID { get; set; }
 
        [Column("Code"), Required]
        public virtual String Code { get; set; }
 
        [Column("Nom"), Required]
        public virtual String Nom { get; set; }
 
        [Column("Designation"), Required]
        public virtual String Designation { get; set; }
 
        [Column("CodeBarre"), Required]
        public virtual String CodeBarre { get; set; }
 
        [Column("Laboratoire"), Required]
        public virtual String Laboratoire { get; set; }
 
        [Column("Categorie"), Required]
        public virtual String Categorie { get; set; }
 
        /****************************************************************************************************
         * Foreign Keys - IDs
         ***************************************************************************************************/
 
        /****************************************************************************************************
         * Foreign Keys - Reference Objects
         ***************************************************************************************************/
 
        /****************************************************************************************************
         * Collections
         ***************************************************************************************************/
        public virtual ICollection<OrdonnancesMedicaments> OrdonnancesMedicaments { get; set; }
    }
}