2010-04-07 4 views
2

Je suppose que ceci est une continuation de la dernière question que j'ai posée: bulk insert and update with ADO.NET Entity Framework.LINQ EF ne pas enregistrer dans la base de données

Je ne reçois aucune erreur lors des insertions mais aucune donnée ne va réellement dans ma base de données. Ma base de données est un fichier SDF (SQL CE). Des idées quoi vérifier?

Mon app.config ressemble:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <configSections> 
    </configSections> 
    <connectionStrings> 
    <add name="Lab_Use_Billing.Properties.Settings.LabUseConnectionString" 
     connectionString="Data Source=|DataDirectory|\Models\LabUse.sdf" 
     providerName="Microsoft.SqlServerCe.Client.3.5" /> 
    <add name="LabUseEntities" 
     connectionString="metadata=res://*/Models.LabUseEntities.csdl|res://*/Models.LabUseEntities.ssdl|res://*/Models.LabUseEntities.msl; 
          provider=System.Data.SqlServerCe.3.5; 
          provider connection string=&quot;Data Source=|DataDirectory|\Models\LabUse.sdf&quot;" 
     providerName="System.Data.EntityClient" /> 
    </connectionStrings> 
</configuration> 

TIA

Répondre

5

Laisse-moi deviner, votre base de données est une base de données locale sur votre ordinateur? Essayez de regarder dans le dossier de débogage de projet pour une base de données et voir si cela a vos changements ...

il suffit d'ajouter la base de données de débogage comme une nouvelle connexion dans l'explorateur de serveur et de rafraîchissement pour voir si les changements sont là ...

+1

Voila! Ils sont là. Maintenant, pourquoi ne se connecte-t-il pas à l'endroit où ma chaîne de connexion pointe à la place de la version Bin/Debug? Quand je vais publier ceci, que dois-je faire pour m'assurer que cela fonctionne? –

+1

@Keith Cela fonctionnera, la base de données que vous regardez est la base de données qui se trouve dans votre dossier de projet, mais un fichier de base de données est créé dans le dossier de débogage séparé de celui-ci. Je ne sais pas pourquoi, mais j'ai passé environ 3 jours à chercher cela parce que j'avais le même problème dans un de mes projets ... Quand vous allez le déployer, il utilisera un fichier de base de données. – Mike

1

Pouvez-vous publier le code que vous utilisez pour créer les lignes dans la base de données?

Je suppose que vous êtes un contexte newing en objet et en utilisant quelque chose comme:

 myContext.AddToWidgetSet(widget); 
     myContext.SaveChanges(); 
+0

Si vous suivez le lien que j'ai fourni le code est là (bien qu'il ait changé depuis un petit peu). En substance, ce que vous avez écrit est correct. –

+0

L'erreur que vous avez mentionnée dans votre post précédent ("Impossible de mettre à jour l'EntitySet 'ImportDoorAccess' car il contient un élément DefiningQuery et aucun élément pour prendre en charge l'opération en cours.") Est levée lorsque la table db de sauvegarde pour l'entité aucune clé primaire spécifiée. La table de base de données ImportDoorAccess comporte-t-elle une colonne de clé primaire? Si oui, est-ce une colonne d'identité? – DShultz

+0

Après avoir répondu à cette dernière question, un PK a été défini. Il ne s'agit pas d'une colonne d'identité, mais plutôt d'une clé de 2 colonnes sur la date et le numéro de badge. Cela fonctionne maintenant bien. Avec l'autre réponse énumérée ici, je crois que je l'ai résolu. J'apprécie votre temps et vos efforts pour m'aider! –

Questions connexes