Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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
C# 删除其中一条记录后,对其余记录重新编号_C#_Asp.net_Asp.net Mvc_Algorithm_Sorting - Fatal编程技术网

C# 删除其中一条记录后,对其余记录重新编号

C# 删除其中一条记录后,对其余记录重新编号,c#,asp.net,asp.net-mvc,algorithm,sorting,C#,Asp.net,Asp.net Mvc,Algorithm,Sorting,我在SQL server中使用实体框架ASP.NET MVC创建了一个数据库。我有一个名为“S No”的列,表示序列号。现在,当我从数据库中删除一条记录时,“S号”显然会跳过记录序列号的部分。我想使用我的控制器重新编号“S编号”列。是否有任何算法,以便我可以轻松地重新编号 下面是AddFeature()方法的代码,我在其中对“S No.”列进行编号 两种解决方案: 不要将S_no作为数据库中的一列保存,而是在读取操作返回记录时动态生成其值 如果仍希望在数据库中保留S_no,则需要在任何删除发生时

我在SQL server中使用实体框架ASP.NET MVC创建了一个数据库。我有一个名为“S No”的列,表示序列号。现在,当我从数据库中删除一条记录时,“S号”显然会跳过记录序列号的部分。我想使用我的控制器重新编号“S编号”列。是否有任何算法,以便我可以轻松地重新编号

下面是AddFeature()方法的代码,我在其中对“S No.”列进行编号

两种解决方案:

  • 不要将S_no作为数据库中的一列保存,而是在读取操作返回记录时动态生成其值
  • 如果仍希望在数据库中保留S_no,则需要在任何删除发生时直接(使用触发器)更新数据库

    行号()超过(按formId按formId顺序按formId划分)

  • 两种解决方案:

  • 不要将S_no作为数据库中的一列保存,而是在读取操作返回记录时动态生成其值
  • 如果仍希望在数据库中保留S_no,则需要在任何删除发生时直接(使用触发器)更新数据库

    行号()超过(按formId按formId顺序按formId划分)


  • 为什么要使用
    Count()
    ?您不能只使用
    Max()+1
    而不用担心重新编号吗?如果您有where条件和count+1,则无法重置序列号。SoftwareFeatureList参数是否包含需要重置SNO的列表?为什么需要序列号列?对它有特殊要求吗?如果序列号由于某些内容被删除而可能发生更改,为什么您首先会有一个序列号?Pablo,实际上count()用于获取特定帐户/id/表单的记录数。Max()+1也应适用。Najuillah,是的,它用于显示特定帐户/对象中包含的项目序列。为什么要使用
    Count()
    ?您不能只使用
    Max()+1
    而不用担心重新编号吗?如果您有where条件和count+1,则无法重置序列号。SoftwareFeatureList参数是否包含需要重置SNO的列表?为什么需要序列号列?对它有特殊要求吗?如果序列号由于某些内容被删除而可能发生更改,为什么您首先会有一个序列号?Pablo,实际上count()用于获取特定帐户/id/表单的记录数。Max()+1也应适用。Najiullah,是的,它用于显示特定帐户/对象中包含的一系列项目。保持动态价值是个好主意。我应该尝试实现它。保持价值的动态是一个好主意。我应该试着实现它。
      public ActionResult AddFeature(Models.SoftwareFeatureList s)
        {
            ViewBag.Username = uname;
            ViewBag.UserType = utype;
            try
            {
                c = new DatabaseZTBLEntities();
                s.FormId = formid;
                int identity = c.SoftwareFeatureLists.Where(u=>u.FormId.Equals(formid)).Count() +1;
                s.S_No_ = identity;
                c.SoftwareFeatureLists.Add(s);
    
                c.SaveChanges();
            }
            catch(Exception e)
            {
                ViewBag.Error = e.Message;
                return View("error");
            }
            finally
            {
                c.Database.Connection.Close();
            }
            return Redirect("FeaturesListPage");
        }