Я хочу проверить очень простой пример Code-First. У меня есть класс под названием PurchaseItem
, который не унаследован от какого-либо базового класса, а также не наследует другого класса. Он вообще не связан с другими моделями:
public class PurchaseItem
{
public int Id { get; set; }
public string Buyer { get; set; }
public string Item { get; set; }
public int Quantity { get; set; }
public int Price { get; set; }
}
Вот код моей базы данных. Я установил инициализатор базы данных на null
, потому что у меня уже есть база данных:
public class MiniContext : DbContext
{
public MiniContext()
{
Database.SetInitializer<MiniContext>(null);
}
public DbSet<PurchaseItem> PurchaseItems { get; set; }
}
И вот мой код для сохранения записи:
public void SavePurchaseItems(string buyer, string item, int quantity, int price)
{
PurchaseItem purchaseItem = new PurchaseItem
{
Buyer = buyer,
Item = item,
Quantity = quantity,
Price = price
};
using (MiniContext context = new MiniContext())
{
context.PurchaseItems.Add(purchaseItem);
context.SaveChanges();
}
}
Нет наследования. Наследования вообще нет. Просто простая, автономная таблица. Но я получаю:
Недопустимое имя столбца "Дискриминатор".
В строке context.SaveChanges();
. Что не так? Что мне делать?
Обновление: я уже видел EF Code First "Недопустимое имя столбца" Дискриминатор ", но не вопрос наследования. Этот вопрос не решил мою проблему. В этом вопросе OP do имеет наследование в своем коде.