Ответы пользователя по тегу C#
  • Каков наиболее оптимальный подход к созданию ViewModel?

    @kttotto
    пофиг на чем писать
    Наверное я не совсем что-то понял... ViewModel обозначают модели, которые будут уходить во вьюшку, для отображения там информации. Зачем в одну вьюмодел инкапсулировать другую? Эти модели в основном содержат только необходимую инфу для вьюшки и никакой логики. Если в доменной модели Вам списки авто не нужны, то не стоит их там и делать. Нужно инициализировать вьюмодел нужным списком и эту модель отдавать уже вьшке. Вьюмодел инициализируется либо вручную доменной моделью, либо автомапером.
    Ответ написан
    4 комментария
  • Как получить данные из связанной таблицы Entity Framework?

    @kttotto
    пофиг на чем писать
    Немного странный код Вы привели. А можно увидеть код Вашего dbContext?

    Если Вы используете codfirst, то таблицы связываются настройкой модели через создание виртуальных свойств у модели с указанием внешних ключей и при необходимости настраиваются атрибутами или Fluent API. Тогда данные будут подтягиваться автоматом dbContext.Bid.UserCreated.Id
    Ответ написан
    Комментировать
  • Как убрать ограничение на загрузку больших файлов на сервер ASP.NET MVC?

    @kttotto
    пофиг на чем писать
    Дело не в ограничении, а в ".Result;" на .PostAsync(). Он блокирует отправку, у тебя по идее должно успевать загрузиться 10-20 кБ )). На всей цепочке загрузки файла переделай в async/await, должно заработать.
    Ответ написан
  • Как использование Moq для тестирования репозиториев?

    @kttotto
    пофиг на чем писать
    Вы отвечаете на свой вопрос, прежде чем его задать)

    При тестировании мокают объекты, чтобы разорвать внешние зависимости.

    Необходимо мокать объекты, от которых тестируемый метод зависит, чтобы не тестировать эти самые объекты. Тогда мы будем тестировать только реализацию самого метода. Мы подразумеваем, что эти объекты работают правильно и действую так, как мы того от них ожидаем. Это значит, что мы можем настроить ожидаемое от них поведение.
    mock.Setup(x=>x.Users).Returns(new List<Users>(){ ... }

    Т.е. мы точно знаем, что при обращении к нашему зависимому объекту через Users нам вернется весь список наших пользователей, причем точно знаем каких. Благодаря абстрагированию от зависимостей, если тестируемый метод провалится, то мы точно будем знать, что виновата реализация метода, а не реализация зависимостей.

    В случае тестирования с конкретными зависимыми объектами, мы такого сказать не сможем. Потому что мы точно не можем знать, какие сущности есть в БД, что есть соединение с БД и что сама БД нормально работает.
    Ответ написан
    Комментировать
  • Библиотека сериализации JSON, поддерживающая наследование?

    @kttotto
    пофиг на чем писать
    Пользуюсь newtonsoft
    Удобная, нареканий не было.
    Ответ написан
    Комментировать
  • Почему EF не хочет сохранять сущность?

    @kttotto Автор вопроса
    пофиг на чем писать
    Вопрос решен. Действительно создавалось два контекста. Только ошибка была не в ninject, а в моей реализации DataManger. Получалось, что сущность была в одном контексте, а внешний ключ указывал на сущность в другом контексте. Вот оно и не хотело сохраняться.

    Всем спасибо за соучастие)
    Ответ написан
    Комментировать
  • Есть ли такой реализованный список на C#?

    @kttotto Автор вопроса
    пофиг на чем писать
    Всем спасибо, реализовал руками на следующий день. Не закрывал вопрос, что может кто-то все-таки даст готовый вариант. И да, многопоточность там имеет значение, и скорость реагирования тоже.
    Ответ написан
    Комментировать
  • Как в EF настроить одну сущность с двумя внешними ссылками на другую сущность?

    @kttotto Автор вопроса
    пофиг на чем писать
    Ответ найден. Решилось таким способом
    [InverseProperty("OwnerStage")]
    public virtual ICollection<Motion> Motions { get; set; }
    Ответ написан
    Комментировать
  • Как синхронизировать изменение данных между сайтом и c# приложением?

    @kttotto
    пофиг на чем писать
    Вам нужны веб сокеты. Я не знаю как на php, но на C# есть хорошая библиотечка SignalR, она как раз и способна заниматься обновлением данных на клиенте, если происходят какие-то изменения в данных на сервере. Она как раз является оберткой над веб сокетами.
    Ответ написан
    Комментировать
  • Где обучиться программированию с#?

    @kttotto
    пофиг на чем писать
    Все индивидуально. Если базы в коде нет, то лучше курсы. Если на чем то уже писали, то книгами, роликами и форумами можно обойтись. Если курсы, то по моему мнению, лучше всего разжевано на itvdn, там три уровня - можно купить подписку, можно в качестве онлайн вебинаров. Но лучше найти единомышленников и вместе постигать все прелести совместного обучения, реализуя несложные задачки.
    Ответ написан
    Комментировать
  • Можно ли изменить значения в тестирующей программе?

    @kttotto
    пофиг на чем писать
    Если тестирование у препода на глазах, на его машинах и Вы хотите подменять данные на лету, то забейте, такого скрипта Вы не сделаете. Ну разве что если Вы умеете вирусы писать.

    Если данные теста передаются по сети, то есть вариант перехватывать трафик и если Вы найдете в этом трафике где и что менять, то дерзайте.

    Если саму прогу для теста он Вам выдает, то есть вариант из экзешника сделать почти исходник и найти то место где возвращается результат тестов, ну и забить там жестко свое желаемое значение.
    Ответ написан
    Комментировать
  • Почему может не работать бандл MVC 5?

    @kttotto Автор вопроса
    пофиг на чем писать
    Вопрос снимается. После того, как выяснилось, что у коллег ветка работает нормально, полазил по нескольким своим веткам, пытаясь понять где именно глюкануло, и тут оно волшебным образом заработало. Что именно было не так, осталось загадкой, видимо глюк студии. Жалко убитого дня на поиск непонятно чего.
    Ответ написан
    Комментировать
  • Entity Framework связь элементов одной таблицы, чяднт?

    @kttotto
    пофиг на чем писать
    Чтобы увидеть какой запрос формирует Entity, в конфиг, в раздел entity, надо добавить
    <
    <interceptors>
          <interceptor type="System.Data.Entity.Infrastructure.Interception.DatabaseLogger, EntityFramework">
            <parameters>
              <parameter value="C:\temp\LogOutput.txt" />
              <parameter value="true" type="System.Boolean" />
            </parameters>
          </interceptor>
        </interceptors>


    И как то странно Вы связь устанавливаете. Завязываете таблицу саму на себя? Указывая для таблицы связь, Вы должны указать в какой таблице будет внешний ключ на Вашу сущность. Во общем мапинг в таком виде работать не будет.
    Ответ написан
    Комментировать
  • Как правильно обрабатывать ошибки в C#?

    @kttotto
    пофиг на чем писать
    Есть еще такая штука как Contract. Многие предпочитают им пользоваться вместо try/catch.
    Ответ написан
    Комментировать
  • Как объединить два asp.net mvc приложения?

    @kttotto
    пофиг на чем писать
    Для таких дел в ASP.net MVC есть области (Area). Это когда в сайте, Вы как бы создаёте еще подсайт. Правой кнопкой на проекте, добавить область. Автоматом будет добавлен раздел со своими разделами под контроллеры, модели и вьюшки. Так же будет добавлен маршрут. Обычно как раз админки делают в area. Единственное, придется в ссылках, указывать маршрут, область. Таких областей Вы можете создать сколько угодно, логически разделив сайт на разный контекст.
    Ответ написан
    Комментировать
  • Постоянное поле при сортировке?

    @kttotto
    пофиг на чем писать
    В Вашем варианте сортируются объекты, полями которого является club и number. Сортируете по полю club, то и поле number, того же объекта, "уплывет" вместе с ним.

    Чтоб изменить порядок нумерации по новой, то пересчитывайте его после очередной сортировки.
    int i=0;
    foreach(var item in list) item.number = i++;

    или
    int i=0;
    list.Select(l => l.number = i++);

    А вообще, если Вам не надо где-то выводит порядковый номер единичного объекта, а указывать порядковый номер только при выводе всего списка, то нет смысла хранить порядковый номер в объекте.
    int i=0;
    foreach(var item in list) Console.Writeline("{0}.{1}", i++, item.ToString());
    Ответ написан
    Комментировать
  • Android клиент и C# сервер. Правильно организовать?

    @kttotto
    пофиг на чем писать
    Мы как раз такую штуку делаем на ASP.NET WEB API, отдаем json. Используем SignalR.
    Ответ написан
    Комментировать
  • Проблема с десериализацией объекта C#. В чём ошибка?

    @kttotto
    пофиг на чем писать
    Сериализация и десериализация должны быть в одной сборке. Иначе он не может типы распознать. Поэтому методы по сериализации/десериализации выносят в один проект/dll. Или сериализовать в xml, тогда методы можно разнести по разным сборкам.
    Ответ написан
    Комментировать
  • Как развиваться новичку в c# и направлении разработки приложений под win?

    @kttotto
    пофиг на чем писать
    Основные моменты описаны постом ваше, но я тоже от себя добавлю.

    Если хотите развиваться именно в .net, то и учить надо WPF, ado.net, Entity, asp.net mvc, WCF.

    Много читайте, не ограничивайтесь книгами только по С#, есть много всего, без чего не обходится разработка ПО. Это патерны проектирования, процесс разработки, различные инструменты разработки, фреймворки.
    Ответ написан
    2 комментария
  • Как быть с моделями в ASP.NET MVC?

    @kttotto
    пофиг на чем писать
    Станислав правильно сказал: смотря что называть моделью. Те классы, которые генерит EF, вполне можно называть моделями и даже добавить им логику, может даже какие-то атрибуты. Главное, чтобы все добавки не противоречили тем соответствиям, что EF установил.
    Ответ написан
    Комментировать