[英]C# and ASP.NET MVC : how to check if record exist in database and return id
[英]How to Check if record exist in database using Entity Framework in ASP.NET MVC razor?
控制器是否可以使用ADO.NET檢查數據庫中是否存在記錄?
這是我的控制器
[HttpPost]
public ActionResult Add(TemporaryVoucher temporaryVoucher)
{
string fileName = Path.GetFileNameWithoutExtension(temporaryVoucher.ImageFile.FileName);
string extension = Path.GetExtension(temporaryVoucher.ImageFile.FileName);
fileName = fileName + DateTime.Now.ToString("yymmssfff") + extension;
/*temporaryVoucher.VoucherPath = "/Image/" + fileName;
fileName = Path.Combine(Server.MapPath("/Image/"), fileName);*/
temporaryVoucher.VoucherPath = fileName;
using (DBModels db = new DBModels())
{
db.TemporaryVouchers.Add(temporaryVoucher);
db.SaveChanges();
}
ModelState.Clear();
return View();
}
這是我的ado.net模型
public partial class TemporaryVoucher
{
public int PromoKey { get; set; }
public string PromoName { get; set; }
[DisplayName("Upload Image")]
public string VoucherPath { get; set; }
public HttpPostedFileBase ImageFile { get; set; }
}
這是我的看法
<div class="form-group">
@*Html.LabelFor(model => model.ImageName)*@
<label name="PromoName" style="text-align: right; clear: both; float:left;margin-right:15px;">PromoName</label>
<div class="col-md-10">
@*Html.EditorFor(model => model.ImageName, new { htmlAttributes = new { @class = "form-control", required = "required" } })
@Html.ValidationMessageFor(model => model.ImageName, "", new { @class = "text-danger" })*@
<input type="text" name="PromoName" id="txtInput" onkeypress="return checkSpcialChar(event)" required />
</div>
</div>
<div class="form-group">
@*Html.LabelFor(model => model.ImagePath, htmlAttributes: new { @class = "control-label col-md-2" })*@
<label name="ImagePath" style="text-align: right; clear: both; float:left;margin-right:15px;margin-top:5px;">Upload Image</label>
<div class="col-md-10">
<input type="file" style="margin-top:5px;" name="ImageFile" accept=".jpg,.jpeg,.png" required />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Upload" style="margin-top:5px;" class="btn btn-default" />
</div>
</div>
</div>
我只想確保數據庫中PromoName不可能重復
您可以根據任何標識列在控制器操作中執行“獲取”,以檢查數據庫中的現有值。 如果存在,則返回一條消息,否則將傳入的模型添加到數據庫中。 像這樣:
using (DBModels db = new DBModels())
{
TemporaryVoucher tv = (from t1 in db.TemporaryVouchers
where t1.PromoKey == temporaryVoucher.PromoKey // any identifier comparison can be done here
select t1).FirstOrDefault();
if(tv != null)
// return with a message that incoming temporary voucher already exists
db.TemporaryVouchers.Add(temporaryVoucher);
db.SaveChanges();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.