日期:2014-05-20  浏览次数:21002 次

EF SaveChanges()为什么不能更新?
C# code
 protected void Page_Load(object sender, EventArgs e)
        {
             
            if (!Page.IsPostBack)
            {
                var id = Parse<int>(Params("id"));
                InnerTask = Model.Query<Tasks>().FirstOrDefault(it => it.TaskID == id);
                InnerTask.Hits += 1;
                Model.Context.SaveChanges();
            }
        }

InnerTask 已经获取了数据 
然后点击数+1 
但SaveChanges();后没有增加 
为什么?

------解决方案--------------------
没主键一般是更新不了的吧.

------解决方案--------------------
protected void Page_Load(object sender, EventArgs e)
{

if (!Page.IsPostBack)
{
using (Model.Context context = new Model.Context())
{
var id = Parse<int>(Params("id"));
InnerTask = Model.Query<Tasks>().FirstOrDefault(it => it.TaskID == id);
InnerTask.Hits += 1;
context.SaveChanges();
}
}
}
------解决方案--------------------
C# code
 InnerTask.Hits += 1;

------解决方案--------------------
你的 Model.Query<Tasks>() 怎么写的?
Model.Context 又是什么样的?