我正在开发一个代码优先的.NET应用程序,它有一个自动生成的表。我创建了Order
课程,其中包含指向Item
的链接。我只是使用OrderItem
而不是手动创建List<Item>
类,而是为我自动生成OrderItem
表格;
[Table("Orders")]
public class Order
{
[Key]
public int OrderId { get; set; }
public virtual List<Item> Items { get; set; }
public string OrderNumber { get; set; }
}
正如所料,这在数据库中创建了一个名为OrderItems
多年以后,我们现在想要从实体框架内的另一个表中引用OrderItems
。但是,由于它不是我们可以实际引用的类,我们不确定如何在代码中执行它。显然,更改数据库很容易,但这对代码首先没有帮助。
我想做类似以下的事情
[Table("AnotherTable")]
public class AnotherTable
{
[Key]
public int AnotherTableId { get; set; }
public string SomethingHere { get; set; }
public virtual OrderItem OrderItem { get; set; }
}
我不能这样做,因为OrderItem
不是它理解的类。
我唯一的替代方法是尝试在代码中重新创建,EF auto为我创建了什么?即
[Table("OrderItems")]
public class OrderItem
{
public virtual Order Order_OrderId { get; set; }
public virtual Item Item_ItemId { get; set; }
}