1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wangshuyu-LambdaToSql

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

LambdaToSql

Проект

  1. LambdaToSql — простой конвертер лямбда-выражений в SQL, который можно выполнить с помощью .ToList() и получить результат запроса.
  2. Легковесный ORM-фреймворк, используемый во многих корпоративных web-проектах.
  3. QQ-группа (811382380)

Инструкция по установке

  1. Управление NuGet, поиск: LambdaToSql
  2. Install-Package LambdaToSql -Version версионный номер
  3. Программа разработана на .NET 4.0

Документация проекта

Wiki https://gitee.com/wangshuyu/LambdaToSql/wikis

Блог https://www.cnblogs.com/shuyu/p/9307005.html

 #### Пример демонстрационной программы

https://gitee.com/wangshuyu/LambdaToSql_Demo

Поддерживаемые функции

  1. Поиск с условием WHERE
  2. Сортировка ORDER BY
  3. Группировка GROUP BY
  4. Простая пагинация, поддерживающая только row_number
  5. Поддержка базовых функций SQL: AVG, MAX, MIN, SUM, COUNT
  6. Не требует сторонних библиотек

Требования к базе данных

  1. Поддерживает только Microsoft SQL Server, не поддерживает SQL Server 2000
  2. Минимальная версия Microsoft SQL Server 2005 или выше

Тест производительности

  1. Основная производительность приближена к ADO.NET, лямбда-выражение преобразуется в SQL-запрос, затем используется DBHelper для параметризованных запросов к базе данных. Потери производительности происходят на этапе преобразования лямбда-выражений в SQL-запросы. В последующих версиях планируется внедрение механизма кэширования. 2.Интерфейсы переименованы, но все ещё нуждаются в доработке. В последующих версиях будет постепенно совершенствоваться, пока не будет выпущено около 10 версий, после чего выйдет стабильная версия.

Как использовать

  1. В конфигурационном файле добавьте строку подключения к базе данных <add name="ConnectionString" connectionString="Server=. ;Database=test;User ID=sa;Password=123456" providerName="System.Data.SqlClient" />.
  2. Создайте сущностные классы (в Wiki есть описание того, как создать сущностные классы).
//Создание файла сущностей
LambdaToSql.SysConfig.Init();
LambdaToSql.FrameWork.CreateEntity.Init("d:/class/");
  1. Пример использования структуры
//Инициализация DB
var DB = new LambdaToSql.SqlClient();
DB.QueryTable<сущностный объект>()
   .Where(условие)
   .Select(поле)
   .GroupBy(группировка)
   .OrderByDescending(сортировка)
   .OrderBy(сортировка)
   .Skip(страница)
   .Take(количество)
   .ToList(); //возвращает коллекцию
.Count(); 
.Sum(сумма);
.Min(минимум);
.Max(максимум);
.Avg(среднее значение);
.First(); //первый элемент
.FirstOrDefault(); //первый элемент по умолчанию
.ToPageList(страница, количество на странице, ref общее количество); //пагинация

Обновление

  1. Устранена проблема с автоинкрементом целого типа в качестве первичного ключа.
  2. Удалены обязательные поля: Guid createtime.
  3. Поддерживается автоинкремент целого типа как первичный ключ, а также список идентификаторов.Вся система теперь поддерживает автоинкремент целого типа и GUID как первичные ключи глобально.
  4. Добавлена сортировка по умолчанию для первичного ключа.
  5. Добавлены XML-комментарии (ранее были ошибки).
  6. Изменён номер версии до трёхзначного.#### Тестирование производительности
  7. Тестовая среда: SSD Samsung.
  8. Добавление 1 млн записей занимает около 250 секунд.
  9. Поиск 1 млн записей и создание объектов. Tolist() занимает около 3 секунды.
  10. Для 1 млн данных, со страницей из 50 записей, получение промежуточных данных занимает около 100 миллисекунд.
  11. Вставка/обновление/поиск одной записи занимают около 20 миллисекунд.
  12. Удаление одной записи занимает около 20 миллисекунд.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Описание недоступно Развернуть Свернуть
Отмена

Обновления (8)

все

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/wangshuyu-LambdaToSql.git
git@api.gitlife.ru:oschina-mirror/wangshuyu-LambdaToSql.git
oschina-mirror
wangshuyu-LambdaToSql
wangshuyu-LambdaToSql
master