Ответ 1
Использование неправильного соглашения. Вам нужно сделать следующее.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
Я использую стандарты для имен уникальных таблиц. EF4 Code First по умолчанию использует множественные имена таблиц. Я поместил код, чтобы переопределить это соглашение, но, похоже, не работает.
с помощью раздела:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.Data.Entity;
using System.Data.Entity.Database;
using System.Data.Entity.ModelConfiguration;
using System.Data.Entity.ModelConfiguration.Conventions.Edm;
Контекст данных:
public class SiteDataContext : DbContext
{
public DbSet<Blog> Blogs { get; set; }
public DbSet<BlogFeedback> BlogFeedbacks { get; set; }
public DbSet<BlogCategory> BlogCategories { get; set; }
// Twist our database
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
base.OnModelCreating(modelBuilder);
}
}
Созданные таблицы:
Если потому, что переопределение соглашения (и что мне нужно) должно быть:
У кого-то есть идея, почему строка переопределения не работает? Большое спасибо.
Использование неправильного соглашения. Вам нужно сделать следующее.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
В нашем текущем проекте у нас была та же проблема. Я писал об этом в другом вопросе, но вот он:
Entity Framework v4 и подчеркивания в именах столбцов
Это немного сложнее, чем ожидалось.
НТН