このようなクラスのモデルがあります
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 テーブルには単一のカメラ ID を含む新しい Camera_ID フィールドがあります。私は Feature_Camera テーブルか何かを期待していたので、機能は多くの異なるカムと交差することができました.
ここで何が欠けていますか?カメラが固有ではない機能のコレクションを持つことができるとは、どのように言えばよいでしょうか?