gpt4 book ai didi

c# - 在没有过程的情况下将表的值插入数据库时​​出现错误 "cannot add an entity that already exists."

转载 作者:行者123 更新时间:2023-11-30 13:23:14 34 4
gpt4 key购买 nike

我正在使用 Linq to sql 将记录列表插入到数据库表中,如下所示:

//my DataContext Class
using (VTMMedicalDBDataContext objVTMMedicalDBDataContext = new VTMMedicalDBDataContext())
{
ReadOnlyCollection<TimeZoneInfo> objTimeZones = null;

objTimeZones = TimeZoneInfo.GetSystemTimeZones();

if (objTimeZones.Count > 0)
{
//List<TimeZoneMaster> listTimeZones = new List<TimeZoneMaster>();
TimeZoneMaster objTimeZoneMaster = new TimeZoneMaster();

foreach (var timezone in objTimeZones.ToList())
{

objTimeZoneMaster.TimeZoneName = timezone.DisplayName;

var localName = timezone.DisplayName;

objTimeZoneMaster.TimeZoneOffsetInMinutes = Convert.ToInt32(timezone.BaseUtcOffset.TotalMinutes);


objVTMMedicalDBDataContext.TimeZoneMasters.InsertOnSubmit(objTimeZoneMaster);
objVTMMedicalDBDataContext.SubmitChanges();


}

}
}

我有一个主键,但我已经在 DBML 中将其设置为 AutoGenerated 为 true 为 false。但我仍然无法摆脱它...请提出一些解决方法。

最佳答案

终于,在经历了很多麻烦之后,我用一个新概念得到了答案..

对于所有面临类似问题的人,这里有一个明确的解决方案:

您需要创建“表”类的对象(您要在数据库中更新哪个对象),在循环(*for each,for or any other..)内,这样相同的记录不会被更新并且每个对象使用不同的内存位置(因为本地实例在仅循环..)*

关于c# - 在没有过程的情况下将表的值插入数据库时​​出现错误 "cannot add an entity that already exists.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13684748/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com