我将一个记录列表插入到DB表中,使用Linq到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();
}
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个主键,但我已经把它作为AutoGeneratd在DBML Nullable中为true,因为它是假的.我无法摆脱它...请建议一些方法.
最后经过很多麻烦我得到了一个新概念的答案..
对于所有面临类似问题的人,这里有一个明确的解决方案:
你需要创建'Table'类的对象(你要在DB中更新哪个对象),在循环内(*为每个,为或任何其他..),以便不更新相同的记录,每个对象使用一个不同的内存位置(因为本地实例仅在循环中被销毁..)*