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

//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 Nullable中将它作为AutoGeneratd作为true设置为false。仍然无法摆脱它...请提出一些建议。

最佳答案

终于,经过许多麻烦之后,我有了一个新概念的答案。

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

您需要创建“ Table”类的对象(要在DB中更新的对象),
在循环内部(*对于每个,对于或其他任何..),以便不更新同一记录,并且每个对象使用不同的内存位置(因为仅在循环内部销毁本地实例。)*

10-07 19:37