好吧,这可能是微不足道的,但我希望有人能给我一个直截了当的答案。假设您在MVC项目中有两个模型,并且一个模型包含另一个模型的列表。这两个模型看起来像这样:模型包含它自己的模型类型列表(递归建模?)
public class Vehicle
{
[Key]
public int VehicleId { get; set; }
public virtual List<Wheel> Wheels { get; set; }
}
public class Wheel
{
[Key]
public int WheelId { get; set; }
[Required]
public int VehicleId { get; set;}
[Required]
public virtual Vehicle { get; set; }
}
现在让我们假设你有同样的事情,但只有一个模型。在第一个想到的,我认为这将是这个样子:
public class MyClass
{
[Key]
public int MyClassId { get; set; }
public string MyData { get; set; }
public virtual List<MyClass> MyClasses { get; set; }
}
这引发我离开只是因为MyClasses
被指定为导航属性。这意味着每个MyClasses[i]
将必须具有MyClass
财产和另一个MyclassId
都参考父母MyClass
。想了一会儿之后,我开始头晕目眩。我是否以正确的方式去做这件事?
什么是你想实现什么? – Maciej
正是我发布的。我猜想唯一的补充就是说'MyClass'的数据是通过组合'MyClasses'中每个对象的数据来确定的。 –
Google'自引用模型实体框架'我看到很多使用'代码优先'的例子,你可以用它来解决它的属性。 –