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