【发布时间】:2015-02-10 01:34:56
【问题描述】:
我正在使用 Azure 移动服务 TableController。 我在实体框架中遇到外键关系问题。我有两张表:Personsand Country。 Persons 有一个 CountryId 的外键列。
保存时,实体框架在 Country 表中创建一个新行,其名称与国家 [0] 相同,但新的递增 ID。这显然不是预期的结果 - 该人应该将其 Country_CountryId 字段设置为国家 [0] 的 id,并且不应创建新行。
我该如何解决这个问题?
我正在使用表格控制器
// 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();
}
【问题讨论】: