Entity Framework code first, n'est-ce pas de la création de la base de données
Voici un aperçu de la façon dont ma solution est:
Voici mon PizzaSoftwareData classe:
namespace PizzaSoftware.Data
{
public class PizzaSoftwareData : DbContext
{
public DbSet<Customer> Customers { get; set; }
public DbSet<Order> Orders { get; set; }
public DbSet<Product> Products { get; set; }
public DbSet<User> Users { get; set; }
}
}
Selon un exemple sur le blog de Scott Guthrie, vous devez exécuter ce code au début de l'application afin de créer/mettre à jour le schéma de base de données.
Database.SetInitializer<PizzaSoftwareData>(new CreateDatabaseIfNotExists<PizzaSoftwareData>());
Je suis en cours d'exécution de cette ligne de code de Programme.cs dans PizzaSoftware.L'INTERFACE utilisateur.
namespace PizzaSoftware.UI
{
static class Program
{
///<summary>
///The main entry point for the application.
///</summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Database.SetInitializer<PizzaSoftwareData>(new CreateDatabaseIfNotExists<PizzaSoftwareData>());
Application.Run(new LoginForm());
}
}
}
Quelqu'un peut me dire pourquoi la base de données n'est pas d'avoir les tableaux créés?
Voici la chaîne de connexion dans mon Application.fichier de configuration:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="PizzaSoftwareData"
connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=SaharaPizza;Integrated Security=True;Pooling=False"
providerName="System.Data.Sql" />
</connectionStrings>
</configuration>
OriginalL'auteur | 2011-03-24
Vous devez vous connecter pour publier un commentaire.
Initialisation est exécutée lorsque vous devez accéder à la base de données. Si vous voulez créer une base de données au démarrage de l'application, soit l'utilisation:
Ou n'utilisez pas d'initialiseur et appel:
À l'initialisation de l'application. Il dépend du type d'application.
Dans mon cas, en quelque sorte de Base de données.Initialiser(vrai) throws exception: une Exception de type 'System.StackOverflowException " a été levée. La base de données.CreateIfNotExists() - fonctionne très bien.
OriginalL'auteur Ladislav Mrnka
Au lieu de mettre ce code dans la méthode main:
Mettre en DBContext:
OriginalL'auteur Przemek Marcinkiewicz