我有一个名为的对象VisitLabResult
,它不应该有两条相同的记录LabTestID and VisitID
,所以为了强制进行此验证,我[remote]
在 LabTestID 属性上创建了一个验证,如下所示:-
[Required]
[Remote("checkexsistence", "VisitLabResult",AdditionalFields= "VisitID")]
public int LabTestID { get; set; }
这将调用以下操作方法:-
public JsonResult checkexsistence(int LabTestID, int VisitID)
{
var result = repository.checkexsistence(LabTestID, VisitID);
if (result == null)
{
var type = true;
return Json(type, JsonRequestBehavior.AllowGet);
}
else {
var type = false;
return Json(type, JsonRequestBehavior.AllowGet);
}
}
并且存储库方法是:-
public VisitLabResult checkexsistence(int labtestid, int visitid =20)
{
return (from vlr in entities.VisitLabResults
where (vlr.VisitID == visitid && vlr.LabTestID == labtestid)
select vlr).FirstOrDefault();}
目前,在数据注释内部提到的visitid
参数是在查询字符串中找到的,用于调用 CreateGet 操作方法,查询字符串看起来像。AdditionalFields= "VisitID"
Remote
/VisitLabResult/Create?visitid=20
但是以上根本不起作用;如果visitid 和labtestid 已经存在,则不会显示错误,那么我该如何解决?