Набор сущностей EF4: как получить текущий счет из объектов TPH? - PullRequest
0 голосов
/ 20 октября 2011

У меня есть очень простая модель TPH. Когда я добавляю объект, используя context.TIImport.AddObject(tiObj) а затем вызвать context.TIImport.Count() - значение не включает новый объект?

Я хочу иметь возможность добавлять несколько объектов перед попаданием в контекст. SaveChanges ()

enter image description here

var context = new CodeFirstContainer();

var g = new TIGuarantee
            {
                Id = 1,
                AccountNumber = "123",
                Amount = 123
            };
            context.TIImports.AddObject(g);

            var il = new TIImportLoan
            {
                Id = 2,
                AccountNumber = "123",
                Amount = 123
            };
            context.TIImports.AddObject(il);

            var i = context.TIImports.Count(); // = 0

            context.SaveChanges();
            var j = context.TIImports.Count(); // = 2
        }

Есть ли способ узнать, сколько объектов в коллекции БЕЗ вызова SaveChanges?

1 Ответ

1 голос
/ 20 октября 2011

Вы можете сделать это, зайдя в ObjectContext.ObjectStateManager и отметив все сущности с EntityState как добавленные в нужную коллекцию и включив их в свой счет.Почему вы хотите сделать это, однако, не ясно.Когда вы выполняете чтение, эти сущности не будут включены, пока вы не сохраните их в основном хранилище данных с помощью SaveChanges ();Если ваша цель не состоит в том, чтобы сделать изменения окончательными, возможно, вам стоит заняться транзакциями?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...