Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 检查ASP.NET MVC数据库中是否已存在某些值?_Asp.net Mvc - Fatal编程技术网

Asp.net mvc 检查ASP.NET MVC数据库中是否已存在某些值?

Asp.net mvc 检查ASP.NET MVC数据库中是否已存在某些值?,asp.net-mvc,Asp.net Mvc,如何检查数据库中是否已经存在某些值我正在使用实体框架进行MVC,我想检查数据库应用程序中是否已经存在具有复合键的元素有人建议我获得Json对象,但我的done方法不起作用吗 我在控制器中尝试了JsonResult方法 public JsonResult Check(int? id1, int? id2) { IQueryable<InspekcijskaKontrola> listaKontrola = db.InspekcijskeKontrole.Incl

如何检查数据库中是否已经存在某些值我正在使用实体框架进行MVC,我想检查数据库应用程序中是否已经存在具有复合键的元素有人建议我获得Json对象,但我的done方法不起作用吗

我在控制器中尝试了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);
    }

提供一点代码会很有帮助。但是,我可以立即建议您使用类似的方法从对象中搜索一个或多个键:

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

提供一些您在这里已经尝试过的代码。检查数据库中现有值的一些方法是通过SQL查询或LINQ with lambda表达式。这取决于您使用什么与数据库通信。您使用的是实体框架吗?是的,我使用的是EF,我有复合键,我想检查数据库中是否已经存在带有该键的值,如果是这样,则会弹出一些消息,然后看起来您要去的地方是实体框架教程,而不是堆栈溢出。阅读并分享您的研究成果。例如,请参阅和。更好的解决方案是在DbsetinDect上查找ID1和id2,如果值都是键的一部分,则find可以工作,但如果您查找具有ID和名称的用户,其中唯一的键是ID,则无法工作,您必须使用Any或Any来检查其是否存在方法,或者第一个/firstOrdefault来获取对象(如果存在)。不管怎样,很高兴你找到了解决方案,祝你将来好运
if(dbContext.Items.Any(anyObjectName=>anyObjectName.firstKey == ValueYouLookFor 
                                   && anyObjectName.secondkey == AnotherValue))
{
    //logic to apply if object exists
}