dotnet

پلتفرم Net.

(DotNet Platform)

Entity Framework یا EF یک ORM است که به برنامه‌نویسان NET. این امکان را می‌دهد که با داده‌های رابطه‌ای با استفاده از آبجکت‌ها کار کنند و نیاز به کوئری‌نویسی و کدنویسی SQL را تا حد زیادی کاهش می‌دهد. در ادامه نحوه استقرار برنامه‌های NET. مبتنی بر EF در لیارا را، بررسی خواهیم کرد.

فهرست عناوین:

استقرار برنامه ASP EF .NET Core با دیتابیس SQLite

در صورتی که تمایلی به خواندن آموزش متنی ندارید می‌توانید ویدیوی آموزشی زیر ‌را مشاهده کنید.

پروژه و کدهای مورد استفاده در ویدیوی فوق در اینجا قابل مشاهده و دسترسی هستند.

برای استفاده از EF در برنامه NET. خود با دیتابیس SQLite، در ابتدا باید با اجرای دستورات زیر، ماژول‌ها و پکیج‌های موردنیاز EF و کار با دیتابیس SQLite را نصب کنید:

dotnet tool uninstall --global dotnet-ef 
dotnet tool install --global dotnet-ef
dotnet add package Microsoft.EntityFrameworkCore.Design
dotnet add package Microsoft.EntityFrameworkCore.Tools
dotnet add package Microsoft.EntityFrameworkCore.SQLite

سپس، بایستی در فایل appsettings.json مسیر و نام دیتابیس SQLite خود را مشخص کنید. به عنوان مثال، دایرکتوری db در قطعه کد زیر، پوشه اصلی دیتابیس انتخاب شده است:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "Production": "Data Source=db/Production-69c678d9-0976-406c-9d44-239ed1395d90.db"
  }
}

در ادامه، بایستی در فایل Program.cs دیتابیس خود را تعریف کنید تا برنامه، بتواند از آن استفاده کند:

using Microsoft.EntityFrameworkCore;
using Production.Data;
var builder = WebApplication.CreateBuilder(args);
    builder.Services.AddDbContext<ProductionContext>(options =>
        options.UseSqlite(builder.Configuration.GetConnectionString("ProductionContext")));

پس از آن، کافیست تا دستور زیر را اجرا کنید تا تمام Migrationها در پوشه‌ای تحت عنوان Migrations ایجاد شوند:

dotnet ef migrations add InitialCreate

از آنجایی که در حالت Production نمی‌توان به NET SDK. دسترسی داشت، بنابراین باید عملیات به‌روزرسانی دیتابیس SQLite به صورت خودکار انجام شود. برای این کار، کافیست تا قطعه کد زیر را، به فایل Program.cs خود، اضافه کنید:

builder.Services.AddControllersWithViews();
var app = builder.Build();

using (var scope = app.Services.CreateScope())
{
    var dbContext = scope.ServiceProvider.GetRequiredService<ProductionContext>();
    dbContext.Database.Migrate();  
}

در نهایت، می‌توانید برنامه خود را، بدون تغییر خاصی، در لیارا، مستقر کنید.

استقرار برنامه ASP EF .NET Core با دیتابیس‌های دیگر

فرایند استقرار برنامه‌های ASP EF .NET Core با استفاده از دیتابیس‌های دیگر، همانند دیتابیس SQLite است. با این تفاوت که باید پکیج‌های مربوط به آن‌ها را نیز، نصب کنید، مقدار URI دیتابیس مدنظر را در فایل appsettings.json قرار دهید و در فایل Program.cs از متد مربوط به دیتابیس استفاده کنید که آموزش آن نیز در لیارا موجود است.

متوجه شدم، برو گام بعدی!
;