A .NET Core v2.x ORM, который работает на Dapper.
Скачать NuGet:
Спасибо:
Установите версию .NET Core v2.x.
Создайте новый проект с шаблоном 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
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"DefaultConnection": "server=127.0.0.1;user id=dba;password=pass;port=3306;database=db_mobile;SslMode=none"
},
"AllowedHosts": "*"
}
#скопируйте эти два файла из 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>();
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" };
}
// другой код ...
}
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 )