我有以下实体
public class City()
{
[Key]
public int Id {get; set;}
[Required]
public int RegionId {get; set;}
public string City {get; set;}
}
我使用断开连接的上下文,当我更新City时,只会设置Id和City的值, RegionId将为null 。
public void updateCity(int id, string City)
{
var c = new City();
c.Id = id;
c.City = City;
using (var db = new MyContext())
{
db.Cities.Attach(c);
db.Entry(c).Property(a => a.RegionId).IsModified = false;
db.SaveChanges();
}
db.SaveChanges()抛出异常,告诉我
RegionId是必需的。
有没有办法让EF在不使用RegionId的情况下创建update-Statement?
Regardsa M:)
答案 0 :(得分:0)
您可以从数据库中获取旧项目并更新已修改的属性。
var cityToUpdate=db.Cities.Find(id);
cityToUpdate.City=City;
db.SaveChanges();