دسته بندی ها
21:06 1400/04/18

ایجاد و آپدیت دیتابیس توسط مایگریشن روی لوکال هاست در Asp.net Core

مشخصات سوال کننده :
کاربر : MahdiSharifiAspNetCore     امتیاز کاربر : 3     رتبه کاربر : 136
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 2910
هوش مصنوعی

پاسخ هوش مصنوعی

بله، شما می توانید با استفاده از مایگریشن ها در ASP.NET Core دیتابیس را روی لوکال هاست خود ایجاد و به روزرسانی کنید. برای این کار ابتدا مطمین شوید که پکیج های لازم در پروژه تان نصب شده باشند.

برای نصب پکیج های لازم، از دستور زیر در Package Manager Console استفاده کنید:

Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Tools

سپس از مایگریشن ها برای ایجاد و به روزرسانی دیتابیس استفاده کنید. برای این کار به ترتیب دستورات زیر را اجرا کنید:

Add-Migration InitialCreate
Update-Database

این دستورات باعث ایجاد یک مایگریشن جدید به نام "InitialCreate" شده و سپس دیتابیس را با استفاده از آن مایگریشن ایجاد می کند.

در صورتی که در فایل appsettings.json آدرس دیتابیس خود را بر روی لوکال هاست تنظیم کرده اید، Entity Framework Core با استفاده از آن تنظیمات به دیتابیس متصل خواهد شد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 14:16 1400/04/19

کمی سوالتون مبهم هست. شما برای ایجاد دیتابیس در Asp.net Core میتونید از Migration استفاده کنید. ضمنا بعد از اینکه مدل داده ای خودتون رو ایجاد کردید میتونید توسط دستورات مربوط به مایگریشن دیتابیس رو ایجاد کنید.

برای ایجاد دیتابیس باید ابتدا در فایل appsettings.json کانکشن استرینگ رو تنظیم کنید.

اگر قصد دارید که دیتابیس در روی سیستم لوکال خودتون ایجاد بشه باید کانکشن استرینگ رو به صورت زیر بنویسید. در واقع دستورات زیر محتویات فایل appsetings.json شما هستن.

 

{
  "ConnectionStrings": {
    "ConnectionName": "Data Source=.; Initial Catalog=DataBaseName; user Id=sa; Password=123;"
  },


  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*"
}

 

همونطوری که ملاحطه می کنید کانکشن استرینگ دارای چند تا پارامتر مهم هست.

  • Data Source : در جلوی این پارامتر باید آدرس سرور رو بنویسید. اگر . بذارید یعنی سیستم لوکال شما.
  • Initial Catalog : نام دیتابیس شما هست.
  • user Id : کاربری که دسترسی به دیتابیس دارد. معمولا sa هست.
  • Password :  رمز عبور دیتابیس شما

نکته : اگر سیستم روی یک هاست یا سرور باشه و شما بدون اینکه پروژه رو به کامپیوتر شخصی خودتون منتقل کنید و کانکشن رو تغییر بدید و مطابق کانکشن بالا کنید، دیتابیس روی سیستم شما ساخته نمیشه. چون وقتی . میذارید لوکال میشه همون سروری که پروژه روش هست نه سیستمی که به سرور وصل شدید.

به این پاسخ امتیاز بدهید    0
امتیاز: 1664 رتبه: 1
2 نظر
MahdiSharifiAspNetCore : منظور من اینکه من پروژه های شرکت که روی سرور شرکت دیتابیس شون ساخته میشه رو بیارم روی کامپیوتر خودم بعد اگر کانکش استرینگ رو تنظیم کنم روی localhost بعد از طریق nuget UpdateDatabase رو بزنم اون اون دیتابیس برای منم ایجاد میشه یا نه

امتیاز کاربر : 3   رتبه کاربر : 136   تاریخ ثبت : 11:54 1400/04/20
saedbfd : بله اگر پروژه روی سیستم لوکال شما باشه و کانکشن استرینگ هم روی سیستم لوکال تنظیم بشه دیتابیس ساخته میشه.

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 01:45 1400/04/20
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود