0

我有一个多对多的关系,请在继续阅读之前在这里解释我的场景: EF 4.1 Code First: Many to Many

好的,现在我可以通过执行 Slauma 提出的解决方案(见下文)将条目添加到各个表中,但我不想在其中一个表(表 B)中插入任何条目,因为它具有固定条目(只读)。那么如何实现呢?我将其标记为未更改,但它不起作用。

我执行以下操作:

A a = new A() { PropertyA1 = something_1,
            PropertyA2 = something_2,
            PropertyA3 = something_3 };
a.Bs = new List<B>();

foreach (.....)
{
  B b = new B() { ..... }
  a.Bs.Add(b);
}

context.A.Add(a);

// Below loop is not working
foreach (var entry in context.ChangeTracker.Entries()
        .Where(e => e.State == EntityState.Added && e.Entity is SomeEntity))
{
        entry.State = EntityState.Unchanged;
}

context.SaveChanges();

如果我删除以前的 foreach,信息将正确添加到表 A 和链接表 C,但也在 B 中,我不希望在 B 中添加信息。

有任何想法吗?

4

1 回答 1

1

你在哪里

B b = new B() { ..... }

您必须改为从数据库中获取现有B的并将其添加到a.Bs.

于 2013-05-19T18:46:05.400 回答