사용자 관련 표준 시간대 정보를 저장하는 zeekuser라는 사용자 테이블이 있습니다. 코드 아래linq에서 SQL에 TimeZoneInfo.ConvertTimeFromUtc를 사용하는 방법?
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();
를 사용하여 I를 검색하지만 오류가 아래
방법 'System.TimeZoneInfo FindSystemTimeZoneById (선택 System.String)를'얻고 동안 SQL에 지원되는 변환이 없습니다.
각기 다른 사용자는 서로 다른 시간대를 가질 수 있습니다. 이 문제를 어떻게 해결할 수 있습니까?
서버가 아닌 클라이언트에서이를 수행해야합니다. – SLaks
메서드에는 SQL 메서드가 없으므로 데이터베이스 호출 내에서 수행 할 수 없지만 결과에 대한 변환을 수행해야합니다. –
@ AllanS.Hansen 표준 시간대 정보가 테이블에 있습니다. 그래서 여러 레코드가 반환되는 경우 어떻게해야합니까? –