2017-10-05 18 views
0

Je suis nouveau à cadre d'entité, studio visuel et .net. J'ai créé un modèle pour la table db (en utilisant les premières conventions de code). J'ai exécuté la migration et mis à jour la table Cela fonctionne bien j'insère et obtiens les entités dans la table mais parfois mes données de table et de tableau disparaissent. Je dois exécuter la commande update-database pour générer une nouvelle table. quelle pourrait être la raison de la disparition des tables db. il y a script de migration présente dans mon code ici est ma LMSSeedData classeLa table de db disparaît automatiquement dans le cadre de première entité de code

public class LMSSeedData : DropCreateDatabaseAlways<LMSDBContext> 
{ 
    protected override void Seed(LMSDBContext context) 
    { 

     base.Seed(context); 
    } 
} 

ici est ici classe contexte

public class LMSDBContext : IdentityDbContext<ApplicationUser, CustomRole, int, CustomUserLogin, CustomUserRole, CustomUserClaim> 
{ 
    public LMSDBContext() 
     : base("LMSDBContext") 
    { 



     Database.SetInitializer(new DropCreateDatabaseAlways<LMSDBContext>()); 

    Database.SetInitializer<LMSDBContext>(new MigrateDatabaseToLatestVersion<LMSDBContext, Migrations.Configuration("LMSDBContext")); 

     this.Configuration.LazyLoadingEnabled = true; 
    } 
    } 

est mon fichier packages.config

<packages> 
<package id="Edi.Web.MvcExtensions" version="5.2.3.1" 
targetFramework="net461" /> 
<package id="EntityFramework" version="6.2.0-beta1" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Identity.Core" version="2.2.1" targetFramework="net45" /> 
    <package id="Microsoft.AspNet.Identity.EntityFramework" version="2.2.1" targetFramework="net45" /> 
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net461" /> 
<package id="Microsoft.AspNet.Razor" version="3.2.3" targetFramework="net461" /> 
    <package id="Microsoft.AspNet.WebPages" version="3.2.3" targetFramework="net461" /> 
    <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net461" /> 
</packages> 

Répondre

0

Pouvez-vous montrer votre DbContext classe et la classe de cartographie? Nous pouvons seulement deviner sans ceux-ci.

Avez-vous une semeuse de base de données comme ceci:

public class DbInitializer : DropCreateDatabaseAlways<YourContextName> 
{ 
    protected override void Seed(YourContextName context) 
    { 
     // seed database here 
     ...... 
    } 
} 

Ce initialiseur va supprimer et recréer la base de données et les tables à chaque fois qu'il fonctionne.

Vous pouvez en savoir plus sur les stratégies d'initialisation de base de données ici: http://www.entityframeworktutorial.net/code-first/database-initialization-strategy-in-code-first.aspx

Si vous ne souhaitez pas recréer la base de données et les tables, essayez d'utiliser DropCreateDatabaseIfModelChanges à la place.

Encore une fois, vous ne l'avez pas poster le code, donc je ne sais pas à quoi ressemblent vos classes et configurations comme.

+0

ys i ont ces 2 classes – Asad

+0

Je ne pense pas que la base de données * * disparaît, mais la description est de vague pour donner une réponse appropriée. –

+0

les deux tables que j'ai faites disparaissent avec un comportement aléatoire Je dois exécuter la base de données de mise à jour encore et encore. Pouvez vous me donner un coup de main ? @GertArnold – Asad