شاید بعضی شما بدونید ولی این آموزش برای همه است. این آموزش، در همه جا وقتی نیاز با دیتابیس داری استفاده میشود و به صورت زنجیر یا ساعت که دقیقه و ساعت و ثانیه باهم باشد و نمیتوان یکیش را فراموش یا جا انداخت
NameApp.zip
حجم:
24.7M
این پروژه ساده را دادم برای کسی که تازه میخواهد یاد بگیرد
پروژه ASP.Net Core MVC (وب و سی شارپ)
ساخت اتصال به SQL Server در ASP.Net Core MVC ساخته شده از هوش مصنوعی
رشته اتصال، تنظیم اتصال، کانتکس، و مایگریشن در ASP.NET Core MVC
---
🎓 بخش اول: تنظیم اتصال در appsettings.json
در فایل appsettings.json، رشته اتصال به دیتابیس SQL Server رو تعریف میکنیم:
"ConnectionStrings": {
"DefaultConnection": "Server=.\\SQLEXPRESS;Database=NameDb;Trusted_Connection=True;TrustServerCertificate=True"
}
🔍 توضیح خط به خط:
- "ConnectionStrings":
بخشی برای تعریف رشتههای اتصال به دیتابیس.
- "DefaultConnection":
نام دلخواه برای رشته اتصال. در کدهای بعدی از همین نام استفاده میکنیم.
- "Server=.\\SQLEXPRESS":
یعنی از SQL Server محلی (Local) با نام SQLEXPRESS استفاده کن.
- "Database=NameDb":
نام دیتابیسی که قراره ساخته بشه یا بهش وصل بشیم.
- "Trusted_Connection=True":
یعنی از اعتبار ویندوز برای اتصال استفاده کن (بدون نام کاربری و رمز).
- "TrustServerCertificate=True":
گواهی امنیتی سرور رو بدون بررسی دقیق قبول کن (برای راحتی در محیط توسعه).
---
🧠 بخش دوم: تعریف کانتکس (DbContext)
کانتکس نمایندهی دیتابیس در پروژه است. در پوشه Models، کلاس زیر رو میسازیم:
using Microsoft.EntityFrameworkCore;
public class AppDbContext : DbContext
{
public AppDbContext(DbContextOptions<AppDbContext> options) : base(options) { }
public DbSet<Person> People { get; set; }
}
🔍 توضیح خط به خط:
- using Microsoft.EntityFrameworkCore;:
اضافه کردن کتابخانه EF Core برای کار با دیتابیس.
- AppDbContext:
اسم کلاس کانتکس که میتونه هر اسمی داشته باشه.
- DbContext:
کلاس پایهای که EF Core برای ارتباط با دیتابیس استفاده میکنه.
- AppDbContext(options) : base(options):
سازندهای که تنظیمات اتصال رو از بیرون دریافت میکنه.
- DbSet<Person> People:
جدول مجازی برای ذخیرهی اطلاعات افراد. اینجا فرض کردیم مدل Person شامل Name و Age هست.
📌 نکته: اگر هنوز مدل Person رو نساختی، فقط این خط رو حذف کن تا تمرکز روی اتصال باقی بمونه.
---
⚙️ بخش سوم: تنظیم در Program.cs و اجرای مایگریشن
در فایل Program.cs، کانتکس رو به پروژه معرفی میکنیم:
builder.Services.AddDbContext<AppDbContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));
🔍 توضیح خط به خط:
- builder.Services.AddDbContext<AppDbContext>:
کانتکس رو به سیستم DI (تزریق وابستگی) اضافه میکنه.
- options.UseSqlServer(...):
مشخص میکنه که از SQL Server استفاده بشه.
- builder.Configuration.GetConnectionString("DefaultConnection"):
رشته اتصال رو از appsettings.json میخونه.
✅ حالا برای ساخت دیتابیس، از دستورهای EF Core استفاده میکنیم:
dotnet ef migrations add InitialCreate
dotnet ef database update
🔍 توضیح:
- migrations add InitialCreate:
یک مایگریشن جدید میسازه که تغییرات مدل رو آمادهی اعمال به دیتابیس میکنه.
- database update:
مایگریشنها رو اجرا میکنه و دیتابیس واقعی رو میسازه.
---
🎯 نتیجهگیری
با این سه مرحله:
1. رشته اتصال رو تعریف کردیم.
2. کانتکس رو ساختیم تا نمایندهی دیتابیس باشه.
3. تنظیمات رو در Program.cs انجام دادیم و با مایگریشن، دیتابیس رو ساختیم.
اگر مدل Person شامل Name و Age باشه، جدول مربوطه ساخته میشه و اطلاعات در اون ذخیره میشن. دوست داری در قسمت بعدی، مدل Person و فرم ثبت اطلاعات رو هم بسازیم؟
پروژه ASP.Net Core MVC (وب و سی شارپ)
🎙️ پادکست: عملیات CRUD در ASP.NET Core MVC ساخته شده از هوش مصنوعی
ادامه درس که قبلاً دادم را ببینید که تعریف CRUD
عملیات CRUD رو در پروژه ASP.NET Core MVC یاد بگیریم. CRUD یعنی:
- Create: ایجاد داده
- Read: خواندن داده
- Update: ویرایش داده
- Delete: حذف داده
https://eitaa.com/projectall/1060
زمان:
حجم:
5.5M
تحول وب دات نت از Web Forms تا دات نت ۸
ساخته شده از هوش مصنوعی
زمان:
حجم:
6M
مدیریت تصاویر در Asp.Net Core MVC
ساخته شده از هوش مصنوعی
پروژه ASP.Net Core MVC (وب و سی شارپ)
مدیریت تصاویر در Asp.Net Core MVC ساخته شده از هوش مصنوعی
🎙️ بخش اول: اهمیت افزودن تصویر در ASP.NET Core MVC
سلام به همه شنوندههای عزیز!
توی این قسمت از پادکست، قراره درباره یکی از قابلیتهای مهم در توسعه وب با ASP.NET Core MVC صحبت کنیم: افزودن و ویرایش تصویر.
تصاویر نقش کلیدی در تجربه کاربری دارن. وقتی کاربر بتونه تصویر پروفایلش رو آپلود کنه یا وقتی محصولی با تصویر جذاب نمایش داده بشه، حس اعتماد و تعامل بیشتر ایجاد میشه. پس یاد گرفتن نحوه مدیریت تصاویر توی پروژههای MVC خیلی مهمه.
---
🎙️ بخش دوم: مراحل افزودن تصویر و جلوگیری از همنام بودن
برای افزودن تصویر، مراحل زیر رو باید طی کنیم:
1. ساخت فرم HTML با input نوع file
توی View از enctype="multipart/form-data" استفاده میکنیم تا فایلها به درستی ارسال بشن.
2. دریافت فایل در کنترلر با IFormFile
فایل آپلود شده رو با پارامتر IFormFile دریافت میکنیم و آماده ذخیرهسازی میشیم.
3. ذخیرهسازی فایل در سرور
معمولاً فایل رو در پوشهای مثل wwwroot/images ذخیره میکنیم. برای جلوگیری از همنام بودن تصاویر، بهتره نام فایل رو با تاریخ و ساعت ترکیب کنیم:
var fileName = Path.GetFileNameWithoutExtension(file.FileName);
var extension = Path.GetExtension(file.FileName);
var uniqueName = $"{fileName}{DateTime.Now:yyyyMMddHHmmss}{extension}";
var path = Path.Combine(_env.WebRootPath, "images", uniqueName);
using (var stream = new FileStream(path, FileMode.Create))
{
await file.CopyToAsync(stream);
}
4. ذخیره مسیر فایل در دیتابیس
به جای ذخیره خود تصویر در دیتابیس، فقط مسیر فایل رو ذخیره میکنیم:
var imagePath = "/images/" + uniqueName;
product.ImagePath = imagePath;
_context.Products.Add(product);
await _context.SaveChangesAsync();
---
🎙️ بخش سوم: ویرایش تصویر و نکات امنیتی
ویرایش تصویر معمولاً به این معناست که کاربر تصویر قبلی رو با تصویر جدید جایگزین میکنه. مراحلش مشابه آپلود اولیهست، فقط باید تصویر قبلی حذف بشه یا مسیرش بهروزرسانی بشه.
اما فراموش نکنیم که امنیت خیلی مهمه:
- بررسی نوع فایل و پسوندش برای جلوگیری از آپلود فایلهای مخرب
- محدود کردن حجم فایل
- استفاده از نام یکتا برای فایلها، مثل همون ترکیب نام و تاریخ
- ذخیره مسیر تصویر در دیتابیس، نه خود فایل
در نهایت، افزودن و ویرایش تصویر در ASP.NET Core MVC یه قابلیت ساده ولی بسیار کاربردیه که با رعایت چند نکته میتونه تجربه کاربری رو به سطح بالاتری برسونه.