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

发布于 2024-10-01 12:15:40 字数 931 浏览 3 评论 0原文

我使用实体框架4。

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

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

当我在调试模式下检查 _db 变量时,我的 AreaTypeText 对象为 null。似乎没有附加任何东西。


更新工作示例
我需要分离才能在 SaveChange 之前将 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();

I use entity Framework 4.

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

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

When I check in debug mode on the _db variable, my AreaTypeText object is null. Nothing seem to be attached.

UPDATE WORKING EXAMPLE

I need to detach to be able to change the EntityState to Modified before 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();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深爱成瘾 2024-10-08 12:15:40
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();
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();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文