繁体   English   中英

带有 2 个主键的 C# ASP.NET API Post

[英]C# ASP.NET API Post with 2 primary-keys

我想在有 2 个主键的表中使用 post,并且我只想使用这些键之一来完成它,在这种情况下是“classifying.cod_prova”。 这是我现在的代码:

 [HttpPost]
        public string Post([FromBody] Classifics classifics)
        {
            using (var db = new Dbhelper())
            {
                if (db.classifics.Find(classifics.cod_prova,classifics.cod_cavalo) == null)
                {
                    db.classifics.Add(classifics);
                    db.SaveChanges();
                    return "OK";
                }
                else { return "already exists"; }
            }
        }```

我认为只有当表中不存在任何记录的组合键的一部分时,您才尝试添加记录。 您不能使用 Find() 方法在数据库中使用单个字段搜索具有复合(2 个或更多字段)键的记录。 您可以使用 .Where() 和 .Any() 方法来查找是否有包含您要查找的字段的记录 (classifics.cod_prova)

        // This will return true if there are no records that contain the same 
        // value for cod_prova
        if (!db.classifics.Where(c => c.cod_prova == classifics.cod_prova).Any())
        {

            db.classifics.Add(classifics);
            db.SaveChanges();
            return "OK";

        }
        else { return "already exists"; }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM