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

OSCHINA-MIRROR/mirrors-hellodata

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

HelloData анализ:

  1. HelloData.FrameWork — это база данных, которая поддерживает множество операций и включает в себя BaseEntity и BaseLogic, а также BaseManager. При генерации модели базы данных используется T4. Созданные таблицы базы данных соответствуют объектам класса partial. Если необходимо расширить, можно добавить несколько частей к текущему объекту. Преимущество такого подхода заключается в том, что он отделяет классы, сгенерированные базой данных, от бизнес-операций.

BaseLogic наследуется от BaseLogic, где T — это тип объекта таблицы базы данных. Он содержит общие операции, такие как добавление, удаление, изменение, получение сущности и получение списка сущностей. BaseManager<T, TU> наследуется от T, где T представляет класс логики, а TU — класс объекта логики. После наследования текущий класс логики становится глобальным уникальным экземпляром, использующим одноэлементный режим. Операционные методы также включают общие логические операции.

Написание Demo:

  • using (DeleteAction delete = new DeleteAction(Entity)) { delete.SqlWhere(cms_user.Columns.id, "1,2,3,4,5", RelationEnum.In); delete.Excute(); return delete.ReturnCode; }

  • using (UpdateAction update = new UpdateAction(Entity)) { update.SqlKeyValue(cms_user.Columns.createtime, null); update.SqlKeyValue(cms_user.Columns.password, "123456123"); update.Excute(); return update.ReturnCode; }

  • using (SelectAction select = new SelectAction(Entity)) { if (!string.IsNullOrEmpty(username)) select.SqlWhere(cms_user.Columns.username, username, RelationEnum.Like, ConditionEnum.Or); select.SqlPageParms(pageSize); return select.QueryPage<cms_user>(pageIndex); }

  • using (SelectAction action = new SelectAction("")) {

     action.SqlWhere(cms_user.Columns.username, "admin");
     action.SqlWhere(cms_user.Columns.password, "123456");
     PageList<cms_user> lists= action.QueryPage<cms_user>(1);
     return null;

    }

Добавляется поддержка LINQ, операции транзакций и операции с несколькими таблицами.

///

/// LINQ способ указать условия вставки /// public void AddDemo2() { using (InserAction action = new InserAction(Entity)) { action.Cast<cms_user>() .SqlValue(u => u.username == "wangjun" && u.password == "123456") .UnCast().Excute(); } }

///

/// Пакетная вставка /// public void AddDemo3() { using (InserAction action = new InserAction(new NullEntity())) { action.Cast().InsertList(() => new List() { new cms_user(){username="wangjun",password="123456"}, new TestUser(){} }); } }

///

/// Запрос одной сущности /// /// public cms_user SelectDemo() { using (SelectAction action = new SelectAction(Entity)) { action.SqlWhere(cms_user.Columns.username, "wang", RelationEnum.LikeLeft); return action.QueryEntity<cms_user>(); } }

public cms_user SelectDemo1() { using (SelectAction action = new SelectAction(Entity)) { action.Cast<cms_user>() .Where(user1 => user1.username == "wangjun"); return action.QueryEntity<cms_user>(); } }

///

/// Получить данные третьей группы по 30 штук /// /// public PageList<cms_user> SelectDemo2() { using (SelectAction action = new SelectAction(Entity)) { action.SqlPageParms(30).Cast<cms_user>() .Where(user1 => user1.username == "wangjun"); return action.QueryPage<cms_user>(3); } }

///

/// Транзакционная операция /// public void TranstionDemo() { MultiAction actions = new MultiAction(); for (int i = 0; i < 10; i++) { if (i % 4 == 0) { DeleteAction delete = new DeleteAction(Entity); delete.Cast<cms_user>().Where(u => u.username == ...);

В запросе присутствуют фрагменты кода, которые не удалось перевести. Это может быть связано с тем, что они содержат специфическую терминологию или конструкции, характерные для конкретной области разработки программного обеспечения. Вот перевод текста на русский язык:

wangjun);
    actions.AddAction(delete);
}
if (i % 4 == 1)
{
    UpdateAction update = new UpdateAction(Entity);
    update.Cast<cms_user>()
        .Where(u => u.username == "wangjun")
        .UnCast()
        .SqlKeyValue(cms_user.Columns.password, "1234567");
    actions.AddAction(update);
}
}
try
{
    actions.Commit();
}
catch (Exception)
{
    actions.Rollback();
}

При работе с базой данных можно использовать кэш, который в настоящее время поддерживает webcache, Redis и MemberCache. Последние два могут поддерживать распределённые операции; 2. HelloData.FWCommon: включает шифрование и дешифрование; экспорт операций: txt, csv, excel; сериализацию и десериализацию: двоичный код, json, soap, xml; другие часто используемые операции, такие как операции с html, сетевые сканеры на основе сокетов и т.д. 3. HelloData.FWExtend: предназначен для разработчиков проектов и является расширением HelloData.FrameWork; 4. HelloData.Web: содержит перезапись URL, многоязычный модуль, операции ajax, подобные mvc.

Пример операции:

$.ajax({
    type: 'POST',
    url: "ajax/demo/do",
    data: "{  'result':{ 'Result':-1,'Message':'不支持GET请求','PostTime':'2012-2-2'},'ido':233}",
    contentType: "application/json",
    dataType: "json"
});
}```

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

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

Введение

HelloData.FrameWork — это база данных, поддерживающая различные операции с данными. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

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

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