Отвечая на мой собственный вопрос: Это был не пакет, созданный с использованием более старой версии .NET Framework. Вместо этого это был я, который не получил последнюю версию фреймворка dotnet, который требовал пакет. Я узнал об этом, загрузив проект и попытавшись открыть его:
Простым решением было обновить Visual Studio 2017 до последней версии. версия. Либо перейдя по ссылке в окне сообщения (Скачать пакет таргетинга для v4.6.2). Скорее всего, есть также скрытое уведомление об обновлении в Visual Studio. Покажите это, написав «Уведомления» в текстовом поле быстрого запуска в верхнем правом углу Visual Studio 2017, а затем выберите автоматическую установку доступных обновлений:
Начальные ответы (главным образом на материале LINQ):
Для ответа на заключительный вопрос я не узнал достаточно о NHibernate или других для высказывания, но я был бы рад использовать LINQ для SQL для основного доступа к базе данных, но я начал смотреть на LINQ к Объектам для моего более сложного материала, а не других - главным образом, потому что мне нравятся симпатичные изображения.
Я должен был просто ответить на тот же вопрос для нового проекта, который мы запускаем и после сравнения альтернатив, мы выбрали LLBLGen потому что:
PS. Я должен, вероятно, упомянуть, что я не аффилирован с дизайном решений и/или llblgen.
Я также использую linq2sql, и он работает отлично. После того как Вы понимаете, что сгенерированные классы являются partials, можно поместить пользовательский код, поля, этажерка там. Я в значительной степени сделал свои бизнес-классы из сгенерированных linq2sql классов.
Один протест: varchar (1) преобразовывается для обугливания по умолчанию. Это дало мне проблемы, потому что varchar (1) может быть, "" тогда как символ не может... Простой переключатель для строкового представления в окне свойств решил это как бы то ни было.
Относительно SQLite : я успешно использовал dbLinq для построения запросов LINQ к базе данных SQLite. Это все еще в зачаточном состоянии, так что ожидайте исправить некоторые вещи в сгенерированных классах, но это сработало для моих нужд. Это будет делать, я думаю, 85% всех вещей, которые будет делать LinqToSql. И в проекте есть множество модульных тестов , чтобы сказать вам, что, как они знают, происходит сбой.
dbLinq поддерживает много других баз данных (MySQL, PostgreSQL, Firebird). Я не использовал его ни для чего, кроме SQLite.