AttachTo похоже не работает.Объект всегда нулевой - PullRequest
0 голосов
/ 11 ноября 2010

Я использую Entity Framework 4.

 var entity = rep.GetEntityTxt<AreaTypeText>(PKey, LangID);

 _db.AttachTo("AreaTypeText",entity);
 entity.Txt = "TEST";
 _db.SaveChanges();

Когда я проверяю в режиме отладки переменную _db, мой объект AreaTypeText имеет значение null. Кажется, ничего не привязано.


ПРИМЕР РАБОТЫ ОБ ОБНОВЛЕНИИ
Мне нужно отсоединиться, чтобы иметь возможность изменить EntityState на Modified до SaveChange.

var pluralizer = PluralizationService.CreateService(CultureInfo.GetCultureInfo("en"));
            TEntity entity = _db.CreateObjectSet<TEntity>().FirstOrDefault(p => p.ID == id && p.LangID == langid);

            if (entity != null)
            {
                _db.Detach(entity);
                entity.Txt = value;
                _db.AddObject(pluralizer.Pluralize(entity.GetType().Name), entity);
                _db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
                _db.SaveChanges();

1 Ответ

1 голос
/ 13 ноября 2010
var pluralizer = PluralizationService.CreateService(CultureInfo.GetCultureInfo("en"));
            TEntity entity = _db.CreateObjectSet<TEntity>().FirstOrDefault(p => p.ID == id && p.LangID == langid);

            if (entity != null)
            {
                _db.Detach(entity);
                entity.Txt = value;
                _db.AddObject(pluralizer.Pluralize(entity.GetType().Name), entity);
                _db.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
                _db.SaveChanges();
...