代码之家  ›  专栏  ›  技术社区  ›  Jean-Francois

Attachto Dosen似乎不起作用。对象始终为空

  •  0
  • Jean-Francois  · 技术社区  · 14 年前

    我使用实体框架4。

     var entity = rep.GetEntityTxt<AreaTypeText>(PKey, LangID);
    
     _db.AttachTo("AreaTypeText",entity);
     entity.Txt = "TEST";
     _db.SaveChanges();
    

    当我在调试模式下检查db变量时,我的areaTypeText对象为空。似乎什么都没有。


    更新工作示例
    我需要分离才能在保存更改之前将EntityState更改为Modified。

    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 回复  |  直到 14 年前
        1
  •  1
  •   Jean-Francois    14 年前
    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();