Похоже, что вы хотите добавить новый прокси-объект, чтобы EF мог заметить изменения в нем.
Как уже упоминалось в StriplingWarrior CreateObject<T>
просто создает прокси-версию T, вы должны добавить его (длявставки) или Прикрепите его (для обновлений), чтобы EF узнал об этом.
Чтение между строками в вашем коде выглядит так, как будто вы хотите выполнить вставку?
Если это действительноесли прокси даже не требуется.
Почему?
Ну, вам не нужно отслеживать изменения уровня свойств (то есть, чтобы знать, какие свойства изменились), все, что вам нужно знать, это то, что объект является новым и должен быть вставлен.
Добавление вызова ctx.MyEntities.Add(...)
сообщает EF, что.
Что означает, что для вставок этого достаточно:
var entity = new MyEntity();
... // set some props
ctx.MyEntities.Add(entity);
... // sets some more props
ctx.SaveChanges();
Или это
var entity = ctx.CreateObject<MyEntity>();
... // set some props
ctx.MyEntities.Add(entity);
... // sets some more props
ctx.SaveChanges();
будетобе работают.Но первое легче понять.
Надеюсь, это поможет
Алекс (Microsoft)