Asp.net-Mvc

不一致的可訪問性:DbContext 中的屬性類型

  • July 30, 2021

我在上下文中添加了 Dbset,即

public Dbset<Demo> Demo{ get; set; }

但我在這裡遇到編譯錯誤,即

Error   1   Inconsistent accessibility: property type 'System.Data.Entity.DbSet<MVC.Model.Demo>' is less accessible than property 'MVC.Model.Demo'  D:Files/project 210 34  MVC.Data

這是我的模型:-

class Demo
   {
       [Key]
       [Display(Name = "ID", ResourceType = typeof(Resources.Resource))]
       public long Id { get; set;}

       [Display(Name = "CountryID", ResourceType = typeof(Resources.Resource))]
       public long CountryId { get; set; }

       [Display(Name = "RightID", ResourceType = typeof(Resources.Resource))]
       public long RightId { get; set; }

       [Display(Name = "Amount", ResourceType = typeof(Resources.Resource))]
       public double Amount { get; set; }
   }

Demo沒有訪問修飾符,並且internal預設情況下是類,因此它比DbSet Demowhich is更難訪問public。此外,您可能應該呼叫DbSet Demos以免混淆兩者,因為它在語義上包含一組展示。

由於該集合是公開的:

public DbSet<Demo> Demo { get; set; }

您還需要公開 Demo 類:

public class Demo
{
    ....
}

如前所述,我還建議您將設置更改為:

public DbSet<Demo> Demos { get; set; }

這樣您就不會將集合與類類型混淆。

引用自:https://stackoverflow.com/questions/22221393