Próbowałem i jest jak EF4 CTP5 całkowicie go ignoruje. Co może być nie tak?
użyciu sekcja:
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 klas
public class Blog
{...}
public class BlogFeedback
{...}
public class BlogCategoryList
{...}
public class BlogCategory
{...}
Tabele generowane:
Blogs
BlogCategories
BlogCategoryLists
BlogFeedbacks
Co potrzebne:
Blog
BlogCategory
BlogCategoryList
BlogFeedback
Jedno może być inna jest moje rozwiązanie podzielić na dwie projektów podstawowych i internetowych. Core ma modele, usługi i cały Code First. Internet ma tylko Kontrolery i Widoki oraz odniesienie do Rdzenia. SetInitializer(). Seed() jest wewnątrz funkcji w rdzeniu, a w sieci globalnej.asax wywoływany jest Core.SetInitializer, więc zachowaj wszystkie funkcje CTP5 w rdzeniu. Baza danych jest odtwarzana w porządku, dane są wypełniane, tylko konwencja zachowuje PLURAL TABLE NAMES, ignorując zastąpienie przez modelBuilder
Wiedziałem, że mogę zastąpić konwencje z comething jak modelBuilder.Entity(). ToTable ("ApplicationUser") ;. Zastanawiam się tylko, czy pojedyncze nazywanie tabel jest nadal "w". –
Co powiedziałeś, że używasz płynnego API i to jest * NIE * co rozumiem przez * wyłączanie konwencji *. Możemy po prostu wyłączyć konwencję * całkowicie * dla naszej aplikacji przez * Konwencje wtykowe *. Zaktualizowałem moją odpowiedź, aby wyjaśnić. –
Dziękuję za wyjaśnienie i przykład. Czuję, że piję z firehose pomiędzy EF CodeFirst i MVC 3! –