在实体框架中,当您提交新项目时,它不会根据数据库更新其ID。例如:获取模型更新Id
public class A {
public int Id {get; set;}
public DateTime LastUpdateUtc {get; set;}
}
现在,当我添加一个新的A到我的仓库:
A a = new A();
a.LastUpdateUtc = DateTime.UtcNow;
repo.Add(a);
repo.SaveChange();
a.Id; // still == 0
即使我搜索我的库中的eleement我得到一个A,但该标识仍然等于0
A a = repo.Asquerable().OrderByDescending(a => a.LastUpdateUtc).First();
a.Id; // still == 0
有人知道我该如何告诉实体框架更新数据库计算的Id feild?
感谢
是ID列的数据库或没有标识列?一个int默认为0,所以这就是为什么它总是0--你没有设置它。 – Arran
是的,它是我的数据库中的Id – mathk