Можем ли мы обновить несколько объектов в одном объекте Entity? - PullRequest
1 голос
/ 08 ноября 2010

когда вставка мы просто делаем

MyDBEntities db = new MyDBEntities();

TableNameEntity o = new TableNameEntity();

o.Name = "me";
o.Age = 12;

db.TableNameEntity.AddObject(o); // Added

o = new TableNameEntity();

o.Name = "you";
o.Age = 23;

db.TableNameEntity.AddObject(o); // Added

db.SaveChanges(); // commits to db

Работает нормально.

Но как мне сделать то же самое при обновлении?

TableNameEntity o = db.TableNameEntity.Where(x=>x.id.Equals(tableId_1))
                           .FirstOrDefault();
o.Name = "myself";

o = db.TableNameEntity.Where(x=>x.id.Equals(tableId_2)).FirstOrDefault();
o.Name = "yourself";

db.SaveChanges(); // commits to db ..  Err!!!

а также нет возможности хранить предметы? так что мы просто SaveChanges в конце?


Мне нужно общее место для размещения и хранения объектов, и только в конце я фиксирую все изменения в базе данных.

в данный момент на вкладке:

// Create 1nd Object
TableNameEntity o = new TableNameEntity();

// Don't Update the Database, just place it in the "basket"
db.TableNameEntity.AddObject(o);

// Create 2nd Object
o = new TableNameEntity();

// Don't Update the Database, just place it in the "basket"
db.TableNameEntity.AddObject(o);

// Now that I have all my objects done, let's commit all to the DB
db.SaveChanges();

Есть ли форма для этого, но просто ОБНОВЛЕНИЕ (поэтому мы не можем использовать AddObject)

1 Ответ

1 голос
/ 08 ноября 2010

Посмотрите здесь, вы можете использовать заглушки для обновления объектов. Это позволит вам прикрепить заглушки и обновить или вставить, а затем сохранить контекст. http://blogs.msdn.com/b/alexj/archive/2009/06/19/tip-26-how-to-avoid-database-queries-using-stub-entities.aspx

Обратите внимание, что это также сэкономит вам время выполнения запросов к базе данных для поиска объекта для обновления.

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