验证外键中的唯一输入字段

时间:2014-04-28 13:18:23

标签: c# validation asp.net-mvc-3-areas

我有一个表rubriqueintermediare,其中包含两个字段rubriqueIdrubriqueintermediareId,它们是表Rubrique中的外键。

我的表Rubriqueintermediare有一个libelle表中rubrique字段的列表框。

当我添加新的rubriqueintermediare时,我不能在rubriqueintermediare列表中添加现有的rubriqueintermediare。

如果表rubriqueintermediareId中的rubriqueIdrubriqueintermediare在我的sql server中自动递增,我怎么能进行此验证呢? 这是我在rubriqueintermediare的控制器中添加的方法:

[HttpPost]
    public JsonResult Save([DataSourceRequest] DataSourceRequest dsRequest, RubriqueIntermediareVM vm)
    {
        try
        {
            ViewData["CodeRubrique"] = new SelectList(RefDataManager.GetRefData<RubriqueVM>(), "RubriqueId", "CODELIBELLE");
            if (ModelState.IsValid)
            {
                RubriqueIntermediareVM rubi = ServiceApplicatif.Save(vm);
                IEnumerable<RubriqueVM> rubrique = RefDataManager.GetRefData<RubriqueVM>() as IEnumerable<RubriqueVM>;
            }
            DataCache dataCache = new DataCache(CurrentSecurityContext.TenantID);
            dataCache.DropDataCache<RubriqueIntermediareVM>();
            return Json(new[] { vm }.ToDataSourceResult(dsRequest, ModelState));
        }
        catch (Exception ex)
        {
            LoggerRubriqueIntermediare.Error(string.Format("Exception : {0}", ex.Message.ToString()));
            throw new Exception("Erreur lors de l'enregistrement.");
        }
    }

1 个答案:

答案 0 :(得分:0)

您必须对数据库进行此验证

在商店程序

if exists( select Count(id) 
           from Rubriqueintermediare 
           where @name=rubricname) -- Assuming rubricname is column  
begin
    --return field as you want 
END
Else
Begin
    --Insert as you want
End