Lo he intentado y es como EF4 CTP5 lo está ignorando por completo. ¿Qué puede estar mal?
utilizando la sección:
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);
}
}
POCO clases
public class Blog
{...}
public class BlogFeedback
{...}
public class BlogCategoryList
{...}
public class BlogCategory
{...}
tablas generadas:
Blogs
BlogCategories
BlogCategoryLists
BlogFeedbacks
lo que necesito:
Blog
BlogCategory
BlogCategoryList
BlogFeedback
Una cosa puede ser diferente es divido mi solución en dos proyectos básicos y Web. Core tiene Modelos, Servicios y todo el Código Primero. La web solo tiene controladores y vistas, y una referencia a Core. SetInitializer(). Seed() está dentro de una función en Core, y en Web global.asax se llama al Core.SetInitializer, así que mantenga todas las funciones CTP5 dentro de Core. La base de datos se está recreando bien, los datos se rellenan bien, solo la convención mantiene NOMBRES DE TABLAS PLURALES, ignorando el reemplazo de modelBuilder
Sabía que podía anular las convenciones con comething como modelBuilder.Entity(). ToTable ("ApplicationUser") ;. Me pregunto si el nombramiento singular de tablas sigue siendo el elemento "en". –
Lo que dijiste es usar una API fluida y eso es * NO * lo que quise decir * desactivando las convenciones *. Podemos desactivar una convención * completamente * para nuestra aplicación mediante * Convenciones conectables *. Actualicé mi respuesta para aclarar. –
Gracias por la aclaración y el ejemplo. ¡Siento que estoy bebiendo de un firehose entre EF CodeFirst y MVC 3! –