У меня есть база данных с 2 классами, и у меня есть одна-две отношения. Это устанавливается как магазин (основной класс я бег моего кода против, который вступил в моем дб к списку категорий продуктов, магазин продаетEntity Framework One to Many генерирует исключение
Так столы;.
shops
int id //shopId & primaryKey
varchar(50) shopName
... //other details left out.
ShopProductTypes
int id //Category id
int ShopId //Foreign Key to shop table
varchar(50) CategoryName
...
Это все straighforwards, и работает через SQL для просмотра и т.д. лакомства
Я импортировал модель базы данных, и unbchecked окна множественного числа/ образовывать форму единственного числа
моего контекст,..
public ReportingContext(string connectionString) : base(connectionString)
{
Database.SetInitializer<ReportingContext>(null);
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
}
public DbSet<AutoComp_Reporting.DAL.Shop> Shops{get; set;}
public DbSet<AutoComp_Reporting.DAL.ShopProductTypes> ShopCategories { get; set; }
}
но когда я бегу;
var foo = (from s in context.Shops
where (s.Id == id).select s).toList();
Я могу видеть все магазины, но если я пытаюсь посмотреть на категории в QuickWatch, я получаю происходит некорректно Exception
{ "Произошла ошибка при выполнении определения команды. См внутреннее исключение деталей "}
System.Data.EntityException {System.Data.EntityCommandExecutionException}
размотки, что в конечном итоге показывает.
Message "Invalid column name 'Shops_Id'.\r\nInvalid column name 'Shops_Id'.\r\nInvalid column name 'Shops_Id'."
Возможно, я ошибаюсь, поскольку я новичок в инфраструктуре сущности, но я не могу исправить эту ошибку. У меня есть MultipleActiveResultSets=True
в моей строке подключения к базе данных.
Так как же выяснить причину этой ошибки и/или исправить ее? Я предполагаю, что фактическое внутреннее исключение сводится к тому, что структура интерпретирует свойства, поэтому может быть красная селедка.
В вашем сообщении об ошибке указано «Shops_Id», тогда как в определении вашей таблицы оно отображается как «ShopId». –
Я знаю, я предположил, что это был артефакт структуры, если честно, поскольку модель, которую я использую в своем коде, была создана из базы данных. Или вы говорите, что каждый раз, когда я импортирую/обновляю модель, мне нужно будет отредактировать автоматически сгенерированный код, чтобы совпадение идентификатора с ожидаемой инфраструктурой? Это кажется довольно плохой структурой, если он пытается заставить меня перепроектировать существующую базу данных, чтобы она соответствовала ее ожиданиям! – Matt
вы можете отправить ShopProductTypes код? – Smaug