如何使用 asp.net mvc 检查数据库中是否存在重复数据

How to check if duplicate data is present in the database using asp.net mvc

我想显示一条消息,指出 JourneyID 已存在于数据库中。

型号是:

using System.Web.Mvc;
namespace Project_Final.Models
{
using System;

public partial class sp_FMS_Group6_Module3_ViewBonusMilesRequesttt_Result
{
    public int RequestID { get; set; }
    public Nullable<long> CustomerID { get; set; }
    [Remote("Check", "Home", ErrorMessage = "Bonus Miles Request has already been sent!")]
    public Nullable<int> JourneyID { get; set; }
    public Nullable<System.DateTime> RequestDate { get; set; }
    public string Status { get; set; }
}
}

以下是我的控制器中的操作:

[HttpPost]
public ActionResult Index(string Create)
{        
        FMS_Group6_Module3_BonusMilesRequestt objProd = new FMS_Group6_Module3_BonusMilesRequestt();
        objProd.CustomerID = int.Parse(Request.Form["CustomerID"].ToString());
        objProd.JourneyID = int.Parse(Request.Form["JourneyID"].ToString());
        objProd.RequestDate = DateTime.Parse(Request.Form["RequestDate"].ToString());
        objProd.Status = "Pending";

        objDB.FMS_Group6_Module3_BonusMilesRequestt.Add(objProd);

        int i = objDB.SaveChanges();
        if (i > 0)
            ViewBag.Message = "Product details saved successfully";
        return Content("<script language='javascript' type='text/javascript'>alert('Your Bonus Miles Request has been successfully sent!');window.location='/Home/GetID'</script>");
        //return Redirect("GetID");
}

public ActionResult Check(string Crreate)
{
        FMS_Group6_Module3_BonusMilesRequestt objProd = new FMS_Group6_Module3_BonusMilesRequestt();
        bool ifJourneyIDExist = false;
        try

        {

            ifJourneyIDExist = Crreate.Equals(objProd.JourneyID) ? true : false;

            return Json(!ifJourneyIDExist, JsonRequestBehavior.AllowGet);

        }

        catch (Exception ex)

        {

            return Json(false, JsonRequestBehavior.AllowGet);

        }
}

如有任何帮助,我们将不胜感激。谢谢

在插入之前,如果 JourneyID 存在,您可以检查数据库。

if (objDB.FMS_Group6_Module3_BonusMilesRequestt.Any(x => x.JourneyID == objProd.JourneyID))
{
    // Exists
}

LINQ 查询以确保所有值(例如可枚举值)不重复

var noDuplicationVariable = enumerableValues.GroupBy(a => a.Key).All(b => b.Count() == 1);

将其用作函数之前的断言条件