我正在使用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中更新的对象),
在循环内部(*对于每个,对于或其他任何..),以便不更新同一记录,并且每个对象使用不同的内存位置(因为仅在循环内部销毁本地实例。)*