public void Test() { using (GlobalizationContext ctx = GlobalizationContext.CreateInstance()) { LanguageSet lang = new LanguageSet(); lang.Name = "test"; ctx.AddToLanguageSetSet(lang); ctx.SaveChangesWithHistory(); } }
/// <summary> /// Configure globalization cookies and current thread culture information. /// </summary> public void ConfigureGlobalizationContext(HttpContextBase httpContext, string regionCulture = null, string languageCulture = null, string timeZoneId = null) { var regionCookieName = GlobalizationContext.RegionCultureCookieName; var languageCookieName = GlobalizationContext.LanguageCultureCookieName; var timeZoneCookieName = GlobalizationContext.TimeZoneIdCookieName; var regionCookie = httpContext.GetCookie(regionCookieName); var languageCookie = httpContext.GetCookie(languageCookieName); var timeZoneCookie = httpContext.GetCookie(timeZoneCookieName); /* * Region culture */ regionCulture = regionCulture ?? regionCookie?.Value ?? User.RegionCulture; httpContext.SetCookie(regionCookieName, regionCulture); /* * Language culture */ languageCulture = languageCulture ?? languageCookie?.Value ?? User.LanguageCulture; httpContext.SetCookie(languageCookieName, languageCulture); /* * Time zone */ timeZoneId = timeZoneId ?? timeZoneCookie?.Value ?? User.TimeZone; httpContext.SetCookie(timeZoneCookieName, timeZoneId); /* * Set globalization context. */ var regionCultureInfo = CultureInfo.GetCultureInfo(regionCulture); var languageCultureInfo = CultureInfo.GetCultureInfo(languageCulture); var timeZoneInfo = TimeZoneInfo.FindSystemTimeZoneById(timeZoneId); Globalization = new GlobalizationContext(regionCultureInfo, languageCultureInfo, timeZoneInfo); httpContext.Items[nameof(GlobalizationContext)] = Globalization; /* * Set threads. */ Thread.CurrentThread.CurrentCulture = regionCultureInfo; Thread.CurrentThread.CurrentUICulture = languageCultureInfo; }