Как обновить полный объект с помощью linq для сущностей? - PullRequest
1 голос
/ 17 ноября 2010

Я хочу обновить объект с linq для сущностей, например так:

  public ActionResult SubmitPool(SwimmingPool Pool)
        {

            SwimmingPool IsPool = (from sp in db.SwimmingPool
                                   where sp.Id == Pool.Id
                                   select sp).First();


            if (IsPool != null) {

                IsPool = Pool;
                  db.SaveChanges();
                }
}

Но это не так ...

Если я это сделаю:

  public ActionResult SubmitPool(SwimmingPool Pool)
        {

            SwimmingPool IsPool = (from sp in db.SwimmingPool
                                   where sp.Id == Pool.Id
                                   select sp).First();


            if (IsPool != null) {

               ----> IsPool.Name = Pool.Name;
                  db.SaveChanges();
                }
}

Да! Но я хочу обновить полный объект. Как дела?

Ответы [ 2 ]

2 голосов
/ 17 ноября 2010

Строка

IsPool = Pool;  

ничего не делает с данными внутри;он просто меняет ссылку.
После этой строки и IsPool, и Pool указывают на один и тот же объект в куче;не полезно в вашем случае.Вы должны специально назначить каждого члена из одного класса в другой.

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

используйте AutoMapper для отображения между вашими моделями представления и объектами linq

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