تغییر schema پس از ایجاد بانک اطلاعاتی

11/2/2024 MVC Core
75

بانک اطلاعاتی قبلا روی یک سرور در  sql ایجاد کرده بودم مجبور شدم آن را به هاست جدید انتقال دادم و زمانی که استفاده از dotnet ef یک جدول جدید به آن اضافه کنم مشکلی که پیش امد این بود جدول جدید اضافه شد اما با schema جدید به این معنی که جدولهای قبلی یا schem قبلی بود، مثلا جدول بود dbo.content (یکی از جدول های قدیم)و جدول جدید myuser.menu 

برای اینکه هر دو schema یکسان شوند فقط لازم بود ابتدای تعریف جدول در پروژه model اضافه کنم :

[Table("Menu", Schema = "dbo")]

نتیجه به این صورت شد(جدول menu )

using System.ComponentModel.DataAnnotations.Schema;
namespace Pariz.Model;

[Table("Menu", Schema = "dbo")]
public class Menu
{
    public int Id { get; set; }
    public string? Name { get; set; }
    public bool Active { get; set; }
    public DateTime CreateDate { get; set; }
    public DateTime ModifyDate { get; set; }
    public int Priority { get; set; }

    // Self-referencing relationship for submenus
    public int? ParentId { get; set; }
    public Menu? Parent { get; set; }
    public ICollection<Menu> SubMenus { get; set; } = new List<Menu>();
}

 

و بعد با دو دستور 

dotnet ef migrations add UpdateMenuSchemaToDbo

dotnet ef database update

بانک اطلاعاتی را آپدیت کردم