J'ai essayé et est comme EF4 CTP5 l'ignore totalement. Qu'est-ce qui peut être mauvais?
section en utilisant:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.Entity.ModelConfiguration;
using System.Data.Entity.ModelConfiguration.Conventions.Edm;
DbContext:
public class SiteDataContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<BlogFeedback> BlogFeedbacks { get; set; }
public DbSet<BlogCategoryList> BlogCategoryLists { get; set; }
public DbSet<BlogCategory> BlogCategories { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
base.OnModelCreating(modelBuilder);
}
}
cours POCO
public class Blog
{...}
public class BlogFeedback
{...}
public class BlogCategoryList
{...}
public class BlogCategory
{...}
tables générées:
Blogs
BlogCategories
BlogCategoryLists
BlogFeedbacks
Ce que je besoin:
Blog
BlogCategory
BlogCategoryList
BlogFeedback
Une chose peut être différent est que je partage mon solution dans deux projets de base et sur le Web. Le noyau a des modèles, des services et tout le code d'abord. Web a seulement des contrôleurs et des vues et une référence à Core. Le SetInitializer(). Seed() est à l'intérieur d'une fonction dans Core, et dans Web global.asax, le Core.SetInitializer est appelé, donc gardez toutes les fonctions CTP5 dans Core. La base de données est en cours de recréation ok, les données sont remplies ok, juste la convention conserve les noms de tables PLURAL, ignorant le remplacement de modelBuilder
Je savais que je pouvais remplacer les conventions avec quelque chose comme modelBuilder.Entity(). ToTable ("ApplicationUser") ;. Je me demande simplement si le nommage singulier des tables est toujours le "in" chose. –
Ce que vous avez dit utilise couramment API et ce n'est * PAS * ce que je voulais dire par * désactiver les conventions *. Nous pouvons simplement désactiver une convention * entièrement * pour notre application par * conventions enfichables *. J'ai mis à jour ma réponse pour clarifier. –
Merci pour la clarification et l'exemple. J'ai l'impression de boire un feu entre EF CodeFirst et MVC 3! –