【发布时间】:2015-05-29 08:46:04
【问题描述】:
我尝试开发一个将数据从 excel 表插入到 SqlServer 的程序。 尝试将数据插入 sqlserver 时出现错误。这是我的错误信息
“无法在对象 'dbo.ta_Kullanici' 中插入重复的键行 唯一索引 'IX_ta_Kullanici'。\r\n语句已终止。"
ID 在我的表中是唯一且自动递增的。
感谢您的帮助! :)
我的部分代码在这里;
if (!check)
{
kul = new ta_Kullanici();
hata = new KullaniciHata();
hata.AdSoyad = kullanicilar.Rows[i][7].ToString() + " " + kullanicilar.Rows[i][8].ToString();
hatalar.Add(hata);
kul.kul_ad = kullanicilar.Rows[i][7].ToString();
kul.kul_soyad = kullanicilar.Rows[i][8].ToString();
foreach (var bolge in bolgeler)
{
if (kullanicilar.Rows[i][1].ToString().ToLower().IndexOf(bolge.bolge_ad.ToLower()) != -1)
{
kul.kul_bolge_Id = bolge.bolge_Id;
}
}
kul.kul_ikTar = DateTime.Now;
kul.kul_statu = true;
kul.kul_guid = Guid.NewGuid().ToString();
kul.kul_ikIP = "127.0.0.1";
kul.kul_ik_kul_Id = 5;
kul.kul_TCKNo = kullanicilar.Rows[i][9].ToString();
kul.kul_kulAd = kullanicilar.Rows[i][6].ToString();
kul.kul_tip_enm = 2;
if (!string.IsNullOrWhiteSpace(kullanicilar.Rows[i][9].ToString()))
{
kul.kul_sifre = kullanicilar.Rows[i][9].ToString();
}
else
{
kul.kul_sifre = "123123";
}
checkList.Add(kul);
db.ta_Kullanici.Add(kul);
db.SaveChanges();
hatalar.Remove(hata);
}
【问题讨论】:
-
引用数据库中主键的索引的名称是什么?默认情况下,它类似于 PK_dbo.Kullanici。似乎违反了另一个索引,而不是主键
-
在数据库的哪个列索引IX_ta_Kullanici上创建,该列不能重复?
-
是的。但这不是强制性的,只有一列,几列也可以
标签: c# entity-framework sql-server-2012