Я создал один веб-API mvc asp.net, используя модель Entity Framework, которая может обновлять одну таблицу в одном запросе.Я хочу обновить две таблицы (имеющие отношение внешнего ключа) в одном запросе POST.
Как мне этого добиться?
Что я сделал: -
1.Создал две таблицы tblEmployeeRecord & tblCountryName на сервере sql с EmployeeId в качестве первичного ключа и внешнего ключа соответственно.2. Таблица работодателя Модель: -
public partial class tblEmployeeRecord
{
public int EmployeeId { get; set; }
public string Name { get; set; }
public string userName { get; set; }
public string userRole { get; set; }
}
3. Таблица наименования страны Модель: -
public partial class tblCountryName
{
public int CountryId { get; set; }
public int EmployeeId { get; set; }
public string Country_Name { get; set; }
}
4. Созданная обертка Модель выглядит следующим образом: -
public class UserAndCountry
{
public tblEmployeeRecord UserRecord { get; set; }
public tblCountryName CountryRecord { get; set; }
}
5.ActionResult метод в контроллере, который обрабатывает пост-запрос: -
[ResponseType(typeof(UserAndCountry))]
public IHttpActionResult PosttblEmployeeRecord(UserAndCountry tblEmployeeRecord)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
db.tblCountryNames.Add(tblEmployeeRecord.CountryRecord);
db.tblEmployeeRecords.Add(tblEmployeeRecord.UserRecord);
db.SaveChanges();
return CreatedAtRoute("DefaultApi", new { id = tblEmployeeRecord.UserRecord.EmployeeId }, tblEmployeeRecord);
}
6. Примечание: -Что происходит: -
Когда я не определяю отношение внешнего ключа в SQL Serverмежду этими двумя таблицами я могу обновить обе таблицы, но когда я определяю отношение внешнего ключа, я не могу обновить эти таблицы
Каким будет мой объект запроса в том случае, куда я идунеправильно?
7.Мой объект текущего запроса: -
{
"CountryRecord":
{
"Country_Name": "AP"
},
"UserRecord":
{
"Name": "Test User",
"userName": "Test.User@mail.com",
"userRole": "Hr"
}
}