我有一个像这样的类的模型
public class Feature
{
public int ID { get; set; }
public string Desc { get; set; }
}
和一个这样的:
public class Camera
{
public int ID { get; set; }
public string ModelName { get; set; }
public List<Feature> Features { get; set; }
}
在 Seed() 方法中,我执行以下操作:
context.Features.AddOrUpdate
(
f => f.Desc,
new Feature { Desc = "PTZ" },
new Feature { Desc = "AutoFocus" },
new Feature { Desc = "AutoIris" },
new Feature { Desc = "PoE" }
);
context.Cameras.AddOrUpdate
(
c => c.Name,
new Camera
{
ModelName = "P3301",
Features = new System.Collections.Generic.List<Feature>()
{
context.Features.Where(f => f.Desc.Contains("PTZ")).First()
}
}
);
context.Cameras.AddOrUpdate
(
c => c.Name,
new Camera
{
ModelName = "P3301p",
Features = new System.Collections.Generic.List<Feature>()
{
context.Features.Where(f => f.Desc.Contains("PoE")).First(),
context.Features.Where(f => f.Desc.Contains("PTZ")).First()
}
}
);
运行 update-database 后,我看到 Features 和 Cameras 表中的记录,但 Features 表有一个新的 Camera_ID 字段,其中包含一个 Camera ID。我期待一个 Feature_Camera 表或其他东西,以便一个功能可以与许多不同的凸轮交叉。
我在这里想念什么?我怎么说相机可以有一系列非独特的功能?