我有一個SQL列作爲int數據類型。ASP.NET實體框架更新SQL設置int值爲0
我想使用實體框架更新en條目,將其值設置爲0但它不會更新。提交更改...時,我也不會收到錯誤。那麼我改變了標籤名稱,並將計數設置爲0,名稱已更新,但計數未修改
任何想法?
在此先感謝
一小段代碼片段:
添加標籤 - 向上的標籤數:
Tag tag = _tagsRepository.GetTagByName(TagName);
if (tag == null)
{
tag = new Tag();
tag.CreateDate = DateTime.Now;
tag.Name = TagName;
tag.Count = 1;
}
else
{
tag.Count += 1;
}
tag = _tagsRepository.SaveTag(tag);
從項目中移除標籤,更新標籤計數
Tag tag = _tagsRepository.GetTagByName(TagName);
if (tag != null)
{
tag.Count -= 1;
}
tag = _tagsRepository.SaveTag(tag);
GetTagByName方法
public Tag GetTagByName(string Name)
{
Tag result = null;
using (ISADataContext dc = conn.GetContext())
{
result = dc.Tags.Where(t => t.Name == Name).FirstOrDefault();
}
return result;
}
SaveTag方法
public Tag SaveTag(Tag tag)
{
using (ISADataContext dc = conn.GetContext())
{
if (tag.TagID > 0)
{
dc.Tags.Attach(new Tag { TagID = tag.TagID });
dc.Tags.ApplyCurrentValues(tag);
}
else
{
dc.Tags.AddObject(tag);
}
dc.SaveChanges();
}
return tag;
}
解決方法:
using (ISADataContext dc = conn.GetContext())
{
if (tag.TagID > 0)
{
if (tag.Count == 0)
{
Tag t = dc.Tags.Where(tt=> tt.TagID == tag.TagID).First();
t.Count = 0;
}
else
{
dc.Tags.Attach(new Tag { TagID = tag.TagID });
dc.Tags.ApplyCurrentValues(tag);
}
}
else
{
dc.Tags.AddObject(tag);
}
dc.SaveChanges();
}
return tag;
請任何代碼? – sarwar026 2012-04-27 16:50:57
Snipet已添加,對不起 – Ianc22 2012-04-27 16:57:30
請顯示'_tagsRepository.GetTagByName(TagName)'的定義。 – sarwar026 2012-04-27 17:08:57