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

OSCHINA-MIRROR/azhai-Dubonnet

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

Dubonnet

A .NET Core v2.x ORM, который работает на Dapper.

NuGet Downloads

Скачать NuGet:

Спасибо:

Пример

  1. Установите версию .NET Core v2.x.

  2. Создайте новый проект с шаблоном webapi в командной строке:

dotnet new webapi -n MyDubon -lang C#
cd MyDubon
#dotnet run #доступ к https://localhost:5001/api/values/, чтобы увидеть эффект

И установите соответствующие зависимости:

dotnet add package MySqlConnector --version 0.56.0
dotnet add package MySqlConnector.Logging.Serilog --version 0.38.0
dotnet add package Dapper --version 1.60.6
dotnet add package Dubonnet --version 2.2.0
  1. Создайте базу данных MySQL и измените файл конфигурации appsettings.json, добавив соединение с базой данных:
{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "ConnectionStrings": {
    "DefaultConnection": "server=127.0.0.1;user id=dba;password=pass;port=3306;database=db_mobile;SslMode=none"
  },
  "AllowedHosts": "*"
}
  1. Добавьте папки Models и два файла AppDbContext.cs и Mobile.cs:
#скопируйте эти два файла из Dubonnet/src/Example/Models/
#и измените namespace с Dubonnet.Example на MyDubon
#в файле AppDbContext.cs добавьте код using Dubonnet; над namespace

Измените Startup.cs, чтобы добавить зависимость:

using MyDubon.Models;
// другой код ...

public class Startup
{
// другой код ...

    public void ConfigureServices(IServiceCollection services)
    {
        var dsnMySql = Configuration.GetConnectionString("DefaultConnection");
        services.AddSingleton(new AppDbContext(dsnMySql));
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
    }

// другой код ...
}

(Необязательно) Измените Program.cs для настройки URL-адреса:

// другой код ...

public class Program
{
// другой код ...

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseUrls("http://127.0.0.1:5001")
            .UseStartup<Startup>();
  1. Измените Controllers/ValuesController.cs следующим образом:
using MyDubon.Models;
// другой код ...

[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
    private readonly AppDbContext db;

    public ValuesController(AppDbContext db)
    {
        this.db = db;
    }

    // GET api/values
    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {
        var area = db.Areas.Where("areacode", "0755").Get();
        return new string[] { area.province, area.city };
        //return new string[] { "value1", "value2" };
    }

    // другой код ...
}

Базовый API

Получение сущностей по идентификатору

var product = db.Products.Get(1);

Получение всех сущностей в таблице

var products = db.Products.All().ToList();

Выбор некоторых сущностей

var products = db.Products.WhereIn("id", new int[]{3,4,5}).All();
// эквивалентно следующему запросу:
var same_products = db.Products.WhereRaw("id IN (?,?,?)",3,4,5).All();

Вставка сущностей

var product = new Product { Name = "Awesome bike", InStock = 4 };
int id = db.Products.Insert(product);
var products = new List<Product>
{
    new Product { Name = "Awesome bike", InStock = 4 },
    new Product { Name = "Awesome bike 2", InStock = 5 }
};

int count = db.Products.Insert(products);

Обновление сущностей

var product = db.Products.Get(1);
product.LastUpdate = DateTime.Now;
db.Products.Update(product);
var products = db.Products.WhereIn("id", new int[]{1,2}).All().ToList();
products[0].LastUpdate = DateTime.Now;
products[1].LastUpdate = DateTime.Now;
db.Products.Update(products);

Удаление сущностей

var product = db.Products.Get(1);
db.Products.Delete(product);
var products = db.Products.WhereIn("id", new int[]{1,2}).All();
db.Products.Delete(products);

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

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

Введение

ORM для .NET Standard 2.0, работающий на Dapper. Развернуть Свернуть
MIT
Отмена

Обновления

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

Участники

все

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

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