由于之前添加数据问题导致数据库中有重复数据,今天做的工作将重复数据进行比较,谁的数据中有效字段最多留下。
第一步我们得到需要筛查的数据
adminCoreDbEntities AD = new adminCoreDbEntities();
public ActionResult Index()
{
CMSPois pi = new CMSPois();
List<CMSPois> pis =AD.CMSPois.Where(c => c.Id>0).ToList();
foreach(var a in pis)
{
SelectTitleandDel(a.Title);
}
return View();
}
第二步将数据进行筛查
{
List<CMSPois> CP = AD.CMSPois.Where(c => c.Title == Title).ToList();
if(CP.Count>=2)
{
//临时数组进行比较
int[] csd = new int[CP.Count];
for (int i = 0; i < CP.Count; i++)
{
csd[i] = 1;
//a,b,c,d四个字段判断是否有值
if( CP[i].a!=null)
{
csd[i] += 1;
}
if(CP[i].b!= null && CP[i].b!= "")
{
csd[i] += 2;
}
if( CP[i].c!= null && CP[i].c!= "")
{
csd[i] += 3;
}
if(CP[i].d!= null && CP[i].d!= "")
{
csd[i] += 4;
}
}
//比较大小
var max = csd[0];
for (var i = 0; i < csd.Length; i++)
{
// 最大值
if (max < csd[i])
{
//通过if判断把最大值赋给max;
max = csd[i];
}
}
for (var i = 0; i < csd.Length; i++)
{
//if(max != csd[i])
//{
// //删除
// CP[i].SortFactor = 1;
//}
CP[i].SortFactor = csd[i];
}
AD.SaveChanges();
}
}