ASP.NET Core 6 Web API中MovieContext.Movies访问级别错误求助
解决“MovieContext.Movies' is inaccessible due to its protection level”错误
问题原因
MovieContext类中的Movies属性未指定访问修饰符,C#默认成员访问级别为private,导致外部类MoviesController无法访问该属性,触发权限错误。
修复方法
在MovieContext的Movies属性前添加public访问修饰符,使其对控制器可见:
修改后的MovieContext.cs代码:
using Microsoft.EntityFrameworkCore; namespace AspNetCoreWebApi6.Models { public class MovieContext : DbContext { public MovieContext(DbContextOptions<MovieContext> options) :base(options) { } // 添加public修饰符 public DbSet<Movie> Movies { get; set; } } }
补充说明
C#中,类的字段、属性等成员如果不指定访问修饰符,默认是private,仅能在类内部访问。如果需要让外部类(如控制器)访问,必须显式设置public(跨程序集访问)或internal(同一程序集内访问)。
内容的提问来源于stack exchange,提问作者Muhammad Bilal
相关产品推荐
相关产品推荐

