Как преобразовать Datetime.utcnow в DateTime, UTCtoLocal ()? - PullRequest
0 голосов
/ 19 ноября 2018

при конвертации utcnow в местное время отображается ошибка типа

"LINQ to Entities не распознает метод 'System.DateTime ToLocalTime () ', и этот метод не может быть переведен в сохранить выражение. "

Я использую SQL Server 2014 , а не mango db . Это будет работать, когда я использую функцию UTCtoLocal вне запроса. Но мне нужно использовать его в запросе linq , чтобы ускорить выполнение. Есть другой способ сделать это.

group new
{
    Id = ord.Id,
    ShipmentInfoId = shipment.Id,
    PartnerName = partner.Name,
    PartNumber = ordItem.SellerProductID,
    OrderNumber = ord.UniqueOrderID,
    PartCount = shipment.PartCount,
    DeliveryDate = ord.DeliveryDate,
    IsSentInvoice = shipment.IsSentInvoice != null ? shipment.IsSentInvoice : false,
    IsSentASN = shipment.IsSentASN != null ? shipment.IsSentASN : false,
    ShippingPartCount = 0,
    IsManualEntered = ord.IsManualEntered,
    LastGeneratedInvoiceDate = shipment.LastGeneratedInvoiceDate.Value.UtcToLocal(),
    LastGeneratedASNDate = shipment.LastGeneratedASNDate.Value.UtcToLocal(),

1 Ответ

0 голосов
/ 19 ноября 2018

Решение здесь, играя с вашими DateTimeKind.Utc и ToLocalTime ()

var dt = new DateTime(2010, 1, 1, 1, 1, 1, DateTimeKind.Utc);
string s = dt.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss \"GMT\"zzz");
Console.WriteLine(s);

Источник: дата и время в строке с часовым поясом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...