【发布时间】:2013-12-04 01:19:56
【问题描述】:
我想测试一个非常简单的 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 “Invalid column name 'Discriminator'”但没有继承问题。这个问题并没有解决我的问题。在那个问题中,OP 在他的代码中确实有继承。
【问题讨论】:
-
看here :)
-
@JensKloster,该示例没有从任何类继承。我已经看到了它。但是另一个类继承自它。
-
@JensKloster,该问题的答案确实具有继承性。
PersonViewModel继承自Person。 -
我被标题冲昏了头脑——它发生了:|
-
@JensKloster:我认为评论是正确的(它是相关的,但不一样)。然而,近距离投票(不知道是谁投的)很糟糕。在进行近距离投票时,必须完全确信它是重复的,因为一旦关闭,问题很少会重新打开。
标签: c# .net entity-framework ef-code-first