Несогласованная доступность: тип свойства в DbContext
я добавил 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; }
}
1 ответов
Demo
не имеет модификатора доступа и классы internal
по умолчанию, поэтому он менее доступен, чем DbSet
Demo
что это public
. Кроме того, вы, вероятно, должны позвонить DbSet
Demos
чтобы не путать два и так как семантически он содержит набор демо.
так как набор является общедоступным:
public DbSet<Demo> Demo { get; set; }
Вам также необходимо сделать демонстрационный класс общедоступным:
public class Demo
{
....
}
Как уже упоминалось, я также предлагаю вам изменить значение:
public DbSet<Demo> Demos { get; set; }
чтобы вы не путали набор с типом класса.