なぜ以下は戦略とセグメントの重複エントリを生成するのですか?任意のガイダンスをいただければ幸いです。
public ActionResult Create(Program program)
{
db.Programs.Add(program);
Strategy strategy = db.Strategies.Where(s => s.Name == program.Strategy.Name).SingleOrDefault();
Segment segment = db.Segments.Where(m => m.Name == program.Segment.Name).SingleOrDefault();
// Make sure not to save duplicate entries of segment & strategy
if (strategy != null)
{
program.Strategy = strategy;
db.Entry(strategy).State = EntityState.Unchanged;
}
if (segment != null)
{
program.Segment = segment;
db.Entry(segment).State = EntityState.Unchanged;
}
db.SaveChanges();
}