Я пробовал и похоже, что EF4 CTP5 полностью игнорирует это. Что может быть не так?
используя раздел:
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 классы
public class Blog
{...}
public class BlogFeedback
{...}
public class BlogCategoryList
{...}
public class BlogCategory
{...}
Создано таблиц:
Blogs
BlogCategories
BlogCategoryLists
BlogFeedbacks
Что мне нужно:
Blog
BlogCategory
BlogCategoryList
BlogFeedback
Одна вещь может отличаться, если я разделю свое решение на два проекта Core и Web. Ядро имеет Модели, Сервисы и весь Кодекс Сначала. Веб имеет только контроллеры и представления и ссылку на ядро. SetInitializer (). Seed () находится внутри функции в Core, а в Web global.asax вызывается Core.SetInitializer, поэтому все функции CTP5 хранятся внутри Core. База данных воссоздается нормально, данные заполняются хорошо, просто соглашение сохраняет PLURAL TABLE NAMES, игнорируя переопределение modelBuilder