0
レコードの重複を防ぐ方法を検証するにはどうすればよいですか。 これは私のコントローラ(作成)重複レコードの回避MVC
[HttpPost, ValidateAntiForgeryToken]
public ActionResult Create(Project mcpc, HttpPostedFileBase file,
[Bind(Include =
"ProjectID,NumberMCP,EngineerID,SiteLocationID,nameProject,Ptype, MCPcontent, Proj, ContentType")] Project project)
{
try
{
if (seg.ValidaAcceso(Session["AppCode"].ToString(), Convert.ToInt16(Session["UsrRol"]), "Crear"))
{
if (file != null && file.ContentLength > 0)
{
string ds = file.FileName.Substring(file.FileName.Length - 3);
string p = string.Empty;
p = Server.MapPath("~/UploadFiles/");
file.SaveAs(p + file.FileName);
if (file.ContentLength > 0)
{
BinaryReader br = new BinaryReader(file.InputStream);
byte[] buffer = br.ReadBytes(file.ContentLength);
using (db)
{
mcpc.Proj = file.FileName;
mcpc.ContentType = file.ContentType;
mcpc.MCPcontent = buffer;
db.Projects.Add(mcpc);
db.SaveChanges();
}
}
ViewBag.EngineerID = new SelectList(db.Engineers, "EngineerID", "eName", project.EngineerID);
ViewBag.SiteLocationID = new SelectList(db.SiteLocations, "SiteLocationID", "nameSL", project.SiteLocationID);
return RedirectToAction("Index");
}
else
{
TempData["Message"] = "No se elegió ningún archivo.";
return RedirectToAction("Create");
}
}
else
{
return seg.NotAccess();
}
}
catch /*(Exception ex)*/
{
throw;
}
}
私はアイデンティティ主キーとしてPROJECTIDを使用しています、とNumberMCPが重複していカントです。
私はレコードを作成することができないユーザーを表示する方法を探していました。 これは本当に簡単な質問かもしれませんが、ユーザーが重複したレコードを入力しようとするのを防ぐ最良の方法は何ですか? (新規プログラミング)
私はプログラミングでは新しいですが、とにかく感謝します。 – Agar
ありがとうございます。私は上記の結果を編集しています。 – Agar
私が探していたものに対する答えまたは解決策は、次のとおりです。System.ComponentModel.DataAnnotationsを使用して、自分のクラス[Remote( "Validation"、 "Projects"、ErrorMessage = "Is already in used。 コントローラに追加する 公開JsonResult検証(文字列NumberMCP) { PMPDIDBEntities db =新しいPMPDIDBEntities(); var result = true; bool ExistsInDatabase = db.Projects.Any(x => x.NumberMCP == NumberMCP); if(ExistsInDatabase)result = false; return Json(result、JsonRequestBehavior.AllowGet); } – Agar