我有一個名爲zeekuser的用戶表,我在其中存儲與用戶相關的時區信息。在檢索我使用下面的代碼,如何使用linq中的TimeZoneInfo.ConvertTimeFromUtc到sql?
var v = (from s in dc.UserWebSites
join zk in dc.ZeekUsers on s.aspnet_User.UserId equals zk.UserId
where s.aspnet_User.LoweredUserName.Equals(strUsername.ToLower())
select new UserWebSiteInfo
{
CreateDt = TimeZoneInfo.ConvertTimeFromUtc(s.CreateDt, TimeZoneInfo.FindSystemTimeZoneById(zk.TimeZoneID)),
LastUpdateDt = TimeZoneInfo.ConvertTimeFromUtc(s.LastUpdate, TimeZoneInfo.FindSystemTimeZoneById(zk.TimeZoneID)),
LogoImage = s.LogoImage,
Nickname = s.Nickname,
Title1 = s.Title1,
Title2 = s.Title2,
SiteID = s.SiteID.ToString(),
TemplateID = s.TemplateID.ToString(),
TemplateName = s.WebSiteTemplate.ThemeName,
IsActive = s.IsActive,
IsRedirect = s.IsRedirect,
RedirectURL = s.RedirectURL,
UPID = s.UPID.ToString(),
UserId = s.aspnet_User.UserId.ToString(),
Username = s.aspnet_User.UserName,
UserProductName = s.UserProductDetail.Nickname,
PageCount = s.UserWebSitePages.Count(),
AuthorName = s.AuthorName,
AuthorURL = s.AuthorURL
}).OrderByDescending(y => y.LastUpdateDt);
info = v.ToList();
,但我得到以下錯誤
法 'System.TimeZoneInfo FindSystemTimeZoneById(System.String)' 有沒有支持轉換爲SQL。
每個不同的用戶可以有不同的時區。我該如何解決這個問題?
您需要在客戶端而不是服務器上執行此操作。 – SLaks
該方法沒有SQL方法,因此您無法在調用數據庫的情況下執行此操作,但必須對結果進行轉換。 –
@ AllanS.Hansen時區信息在表格中。那麼,如果有多個記錄被返回,我該如何實現呢? –