Entity Framework - CTP4 - Code First - Как отключить автоматическое множественное число?

Моя сущность называется «Контакт», а моя таблица - «Контакт». Тем не менее, поддержка плюрализации по умолчанию заставляет EF4 искать таблицу с именем «Контакты». У кого-нибудь есть идеи как отключить поддержку плюрализации?

это сообщение имеет некоторые подробности о поддержке плюрализации. Но все равно не дает мне ответа.

Я вижу следующий текст вэтот сообщение. Прежде всего, я не знаю, какой физический файл .tt мне нужен для этого изменения. Кроме того, я хочу, чтобы эта функция была отключена только для одного приложения, а не для всех.

Генератор кода в T4 Toolbox имеет множественное включение, включенное по умолчанию в Visual Studio 2010. Если вам нужно сгенерировать DAL без плюрализации, возможно, из соображений совместимости, вы можете отключить эту опцию, добавив следующую строку в файл .tt перед Метод generator.Run () вызывается.

C #
generator.Pluralize = false;

VB
generator.Pluralize = False

*****ОБНОВИТЬ*****

Ниже приведен код, который я использую, и я получаю сообщение об ошибке ниже:

контакт

 public class Contact
 {
 public int ContactID { get; set; }
 public string FirstName { get; set; }
 public string LastName { get; set; }
 public string Title { get; set; }
 public DateTime AddDate { get; set; }
 public DateTime ModifiedDate { get; set; }
 }

Контекст: -

 public class AddressBook : DbContext
 {
 public DbSet<Contact> Contact { get; set; }

 protected override void OnModelCreating(ModelBuilder modelBuilder)
 {
  modelBuilder.Entity<Contact>().MapSingleType().ToTable("dbo.Contact");
 }

}

Основная программа: -

using (var context = new AddressBook())
  {
   var contact = new Contact
   {
   ContactID = 10000,
   FirstName = "Brian",
   LastName = "Lara",
   ModifiedDate = DateTime.Now,
   AddDate = DateTime.Now,
   Title = "Mr."

   };
   context.Contact.Add(contact);
   int result = context.SaveChanges();
   Console.WriteLine("Result :- " + result.ToString());

  }

И я получаю следующую ошибку на "context.Contact.Add (contact);": -

System.InvalidOperationException: модель, поддерживающая контекст 'AddressBook', изменилась с момента создания базы данных. Либо удалите / обновите базу данных вручную, либо вызовите Database.SetInitializer с экземпляром IDatabaseInitializer. Например, стратегия RecreateDatabaseIfModelChanges автоматически удалит и заново создаст базу данных и при необходимости заполнит ее новыми данными. в System.Data.Entity.Infrastructure.CreateDatabaseOnlyIfNotExists1.InitializeDatabase(TContext context) at System.Data.Entity.Infrastructure.Database.Initialize() at System.Data.Entity.Internal.InternalContext.Initialize() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.EfInternalQuery1.Initialize () в System.Data.Entity.DbSet1.ActOnSet(Action action,EntityState newState, TEntity entity) at System.Data.Entity.DbSet1.Добавить (сущность TEntity) в CodeFirst.Client.Program.Main (аргументы String []) в E: \ Ashish \ Research \ VS Solutions \ EntityFramework \ CodeFirstApproach_EF_CTP4 \ CodeFirst.Client \ Program.cs: строка 35

Я уверен, что где-то совершаю глупую ошибку, просто не могу понять. Может ли кто-нибудь дать несколько указаний?

ОТВЕТ С помощью Pault я описал эту проблему и решениеВот.

Ответы на вопрос(5)

Ваш ответ на вопрос