0
我正在使用Azure移动服务TableController。 我在实体框架中遇到外键关系问题。我有两个表格:人员和国家。人员对CountryId有一个外键列。Azure移动服务表控制器和EntityState.Modified
保存时,实体框架会在国家/地区表中创建一个与国家/地区[0]同名的新行,但会增加一个新的ID。这显然不是理想的结果 - 人应该将其Country_CountryId字段设置为国家/地区ID [0],并且不应创建新行。
我该如何解决这个问题?
我使用表控制器
// POST tables/Booking
public async Task<IHttpActionResult> PostPerson(Personitem)
{
Person current = await InsertAsync(item);
return CreatedAtRoute("Tables", new { id = current.Id }, current);
}
我知道如何在API控制器设置EntitySate
using (var dt = new DatabaseContext()) {
dt.Entities.Add(person);
dt.Entry(person.Country).State = EntityState.Modified;
dt.SaveChanges();
}
是的,你是对的。我应该只传递CountryId而不是Country对象。 – 2015-02-09 18:53:00