Ответы пользователя по тегу ASP.NET
  • Возможно ли подобный SQL запрос преобразовать в LINQ?

    @i_light
    Backend, XAML, crossplatform
    Не очень понял конструкцию с whExp, вот мой вариант:

    string[] searchArray = {"WORD1","WORD2"};
    var vars = db.vars.Where(v =>  searchArray.Contains(v.word)).Select(v => v.id);
    
    var xrefs = dr.xref.Where(x => vars.Contains(x.wordid)).GroupBy(x => x.itemid)
        .Select(g => new
        {
            ItemId = g.Key,
            Score = g.Sum(s => s.weight),
            CountItemId = g.Count()
        })
        .OrderByDescending(r => r.CountItemId)
        .ThenByDescending(r => r.Score)
        .Take(20)
        .Select(o => o.ItemId);
    
    var items = db.Items.Where(i => xrefs.Contains(i.id));
    Ответ написан
  • Как отловить ошибку приведения даты в C#?

    @i_light
    Backend, XAML, crossplatform
    Ну, кроме того, что вы используете plain sql в коде в XXI веке, вместо того, чтобы использовать одну из замечательных ORM,

    вы забыли, что в таких операциях полезно в начало скрипта вставить SET DATEFORMAT

    Однако, я всё ещё настойчиво рекомендую использовать ORM. Entity Framework, NHibernate, или любой другой на ваш вкус.
    Ответ написан
    Комментировать
  • Что возвращать, Empty collection или null?

    @i_light
    Backend, XAML, crossplatform
    Лучше вернуть OperationResult в обоих случаях, например такой:

    public class OperationResult<T>
    {
         T Result { get; set; }
         string Message { get; set; }
         bool IsSuccessful { get; set; } // можно заменить на enum с бОльшим количеством вариантов
    }
    Ответ написан
    Комментировать
  • Как лучше хранить картинку?

    @i_light
    Backend, XAML, crossplatform
    Не вижу смысла сохранять результирующую картинку куда-либо, кроме как по запросу клиента. Чтобы её просто показать, достаточно хранить коллекцию ссылок на PNG-файлы (JPEG не поддерживает прозрачность) и накладывать их прямо в браузере друг на друга, поверх, не сводя в единое изображение.
    Плюсы:
    - картинки кэшируются
    - никакой нагрузки на сервер
    - никакой нагрузки на клиент
    Минусы:
    - картинка выдаётся не мгновенно, а загружаются все части по очереди.
    Ответ написан
    Комментировать