Проблема C# SQL ID, как проверить используемый идентификатор
Привет я новичок в Си#
я пытаюсь создать нового клиента в моей базе данных SQL, при генерации идентификатора пользователя в таблицу SQL я должен проверить, используется ли ID, и если он используется, сделать ошибку и установить следующий номер в базе данных по умолчанию для нового пользователя, и показать его пользователю перед добавлением.
Что я уже пробовал:
// GET: Kundes/CreateOffentlig() public ActionResult CreateOffentlig() { ViewBag.KundeID = new SelectList(db.KundeOffentlig, "KundeID", "InstitutionsNavn"); ViewBag.KundeID = new SelectList(db.KundePrivat, "KundeID", "PrivatMail"); ViewBag.KundeID = new SelectList(db.KundeStorKunde, "KundeID", "FirmaNavn"); Kunde kunde = new Kunde(); kunde.KundeGr = 2; kunde.KundeID = db.Kunde.Max(p => p.KundeID) + 1; return View(kunde); } // POST: Kundes/Create // To protect from overposting attacks, please enable the specific properties you want to bind to, for // more details see https://go.microsoft.com/fwlink/?LinkId=317598. [HttpPost] [ValidateAntiForgeryToken] public ActionResult CreateOffentlig([Bind(Include = "KundeID,KundeGr,ForNavn,EfterNavn,Adresse1,Adresse2,PostNr,Mobil,InstitutionsNavn,CVRNummer,InstitutionsLeder,Mail")] Kunde kunde, KundeOffentlig kundeOffentlig) { if (ModelState.IsValid) //Fejlhåndtering i forbindelse med id er brugt { try { kunde.KundeID = db.Kunde.Max(p => p.KundeID) + 1; kundeOffentlig.KundeID = kunde.KundeID; db.Kunde.Add(kunde); db.KundeOffentlig.Add(kundeOffentlig); db.SaveChanges(); return RedirectToAction("Index"); } catch (Exception) { ModelState.AddModelError("", "KundeID Already used "); return View(kunde); } } }
F-ES Sitecore
Лучше заставить базу данных сгенерировать новый идентификатор для вас, используя столбец идентификаторов для этого идентификатора.
Kornfeld Eliyahu Peter
https://docs.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql-identity-property?view=sql-server-2017