2011-11-04 5 views
0

L'utilisation de l'entité 4.1 pour un projet n'a pas permis de déterminer où le fichier DB a été stocké dans mon projet.Code d'entité d'abord, où mon fichier DB est-il stocké?

Je pense avoir lu que le code d'entité stockera d'abord vos données dans la base de données SQL Express à un emplacement par défaut, mais n'a pas pu trouver leur emplacement.

Ce que je fait est:

  1. Créer un projet Entité DB (projet A) dans ma solution, ce projet aura un initialiseur pour générer des données pour tester l'échantillon.

  2. Je crée également un projet distinct (projet B) pour enregistrer mes premières données de code d'entité pour les tester par une autre application.

  3. Puis-je créer un autre projet WinForm (projet C) dans la même solution, et DBContext d'accès du projet A.

Je suppose que la DB doit être quelque part dans mon projet C, et le test projets dans la solution ne devrait pas faire la différence?

Répondre

0

Avec une installation par défaut de SQL Server Express et aucune chaîne de connexion, la base de données sera créée dans le répertoire DATA de l'installation, par exemple quelque chose comme: C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA (pour la version 2008 R2). Le nom de la base de données est namespace.contextname, par exemple: MyNamespace.MyContext.mdf (et .ldf). Sous ce nom, vous pouvez également les trouver dans SQL Server Management Studio.

+0

merci, je l'ai trouvé sous le chemin comme spécifié, la seule différence est que je changé SQL Server pour nom différent. Je devrais le trouver plus tôt si j'utilise l'explorateur DB Server de VS. Je ne sais pas pourquoi, mais je supposais que le code d'entité va d'abord créer un fichier DB local sous mon projet, mais pas créer une base de données sur mon SQL Server par défaut. Oui, pourquoi l'entité crée-t-elle automatiquement une base de données sur mon serveur SQL local? –

1

Je sais qu'il s'agit d'un sujet ancien couvrant un scénario différent, mais Google m'a dirigé ici quand j'essayais de comprendre cela pour une application UWP, donc si quelqu'un suit mes traces, voici ma solution.

Si vous utilisez entity avec sqlite dans une application Windows, votre fichier de base de données sera probablement créé dans le "répertoire de travail" de votre application. Dans ce cas, il est:

C:\Users\<Username>\Local\Packages\{Package-Name}\LocalState\ 

Vous pouvez trouver votre {Package-Name} en regardant dans le manifeste de l'application. Ce sera probablement une longue chaîne de chiffres et de lettres par défaut.

enter image description here