Person と Address の 2 つのモデルがあります。以下に示すように、これら 2 つのモデルを組み合わせた 1 つのモデルを作成しました。
public class Trust_Person_Master
{
public Person_Master PersonMaster { get; set; }
public Address_Master AddressMaster { get; set; }
public Trust_Person_Master()
{
}
public Trust_Person_Master(Person_Master personMaster, Address_Master addressMaster)
{
PersonMaster = personMaster;
AddressMaster = addressMaster;
}
}
このTrust_Person_Master
モデルを使用して、人物と住所を保存します。
というわけで保存・編集の方法は以下の通りです。
[HttpPost, Ajax(true)]
public JsonResult SaveTrust(Trust_Person_Master entity)
{
int nCurrPersonId = entity.PersonMaster.Person_ID;
if (entity.PersonMaster.Person_ID > 0)
{
var update = db.Person.Find(entity.PersonMaster.Person_ID);
if (ModelState.IsValid)
{
TryUpdateModel(update);
}
}
else
{
db.Person.Add(entity.PersonMaster);
}
db.SaveChanges();
HttpContext.Application["TrustPersonSearch"] = null;
return Json(new { person_id = entity.PersonMaster.Person_ID, location_id = entity.PersonMaster.Location_ID });
}
しかし、私の問題は、人を編集するとき、つまり人のマスターのフィールドだけで名前を言うと、エラーを発生させることなく必要に応じてコードを実行することです。ただし、変更は反映されません。