2016-07-29 91 views
-1

如何檢查數據庫中是否存在某些值我正在使用Entity Framework進行MVC,並且我想檢查數據庫應用程序中是否存在具有組合鍵的元素是否有人有任何建議我收到了Json對象,但是我完成了()方法不起作用?檢查數據庫ASP.NET MVC中是否存在某個值?

我試着用JsonResult方法從我的控制器

public JsonResult Check(int? id1, int? id2) 
    { 
     IQueryable<InspekcijskaKontrola> listaKontrola = db.InspekcijskeKontrole.Include(i => i.InspekcijskaTijela).Include(i => i.Proizvod).Select(i => i); 

     InspekcijskaKontrola inKontrola = listaKontrola.Where(i => i.InspekcijskoTijeloId == id1).Where(i => i.ProizvodId == id2).Select(i => i).Single(); 
     if (inKontrola!=null) 
     { 
      return Json(inKontrola, JsonRequestBehavior.AllowGet); 
     } 
     return Json(new InspekcijskaKontrola { InspekcijskoTijeloId = -1, ProizvodId = -1 }, JsonRequestBehavior.AllowGet); 
    } 

我想從我的觀點惜售模式對話框與腳本

function prikazi() { 
    var zahtjev = $.getJSON("/InspekcijskeKontrole/Check?id1=" + $("#kombo3").val() + "&id2=" + $("#kombo4").val()); 

    zahtjev.done(function (kontrola) { 

     if (kontrola.InspekcijskoTijeloId != -1 && kontrola.ProizvodId != -1) { 
      $("#p1").text("Inspekcijska kontrola za " + kontrola.ProizvodId + " je vec izvrsena"); 
      $("#modalni1").modal({ backdrop: "static" }); 
     } 
    }); 
} 
+0

請提供一些代碼,你已經在這裏試過了。一些檢查數據庫中現有值的方法是通過SQL查詢或帶有lambda表達式的LINQ。 –

+0

這取決於你用什麼來與數據庫進行通信。你在使用實體框架嗎? –

+0

是的我使用EF和我有複合鍵,我想檢查數據庫中是否存在與該鍵已經存在的價值如果是這樣彈出一些消息 – Jhony2

回答

-1

提供了一些代碼將真正幫助。然而,馬上我可以建議你使用類似這樣的方式從對象中搜索一個鍵(或多個):

if(dbContext.Items.Any(anyObjectName=>anyObjectName.firstKey == ValueYouLookFor 
            && anyObjectName.secondkey == AnotherValue)) 
{ 
    //logic to apply if object exists 
} 
+0

更好的解決方案是在dbSet上找到(id1,id2) – Jhony2

+0

確實,如果值都是鍵的一部分,找到工作,但如果您尋找具有ID和他的名字的用戶,唯一的關鍵是ID,那麼這將不起作用,您必須使用Any(檢查它是否存在)方法或First/FirstOrDefault(如果存在,則獲取該對象)。無論如何,很高興你找到你的解決方案,並祝你好運 –