0
我使用實體框架4.
AttachTo dosen似乎沒有工作。對象總是空
var entity = rep.GetEntityTxt<AreaTypeText>(PKey, LangID);
_db.AttachTo("AreaTypeText",entity);
entity.Txt = "TEST";
_db.SaveChanges();
當我在調試模式下檢查的_db變量,我AreaTypeText對象爲null。似乎沒有附加。
UPDATE工作例
我需要分離到能夠將EntityState改變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();
不了你'_db.AreaTypeText.Attach(實體)'?或'_db.AttachTo(「AreaTypeTexts」,entity)'(注意entity entity name的複數形式)。加上你的代碼沒有意義。你爲什麼要檢索一個實體,然後嘗試附加它?它已經是。 – RPM1984 2010-11-11 03:22:34
您需要顯示*不*工作的代碼,而不僅僅是那部分。 – 2010-11-11 13:52:42
好吧,我發現了這個問題。我需要從上下文中分離實體,以便能夠將狀態設置爲已修改。 – 2010-11-12 22:51:59