Export de BDD avec Entity Framework Code First
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:
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:
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; }
}
} |