c# - Entity Framework (MVC) - 为具有 protected 属性的模型创建 Controller 时出现问题

标签 c# asp.net-mvc entity-framework

我正在尝试使用 Entity Framework 创建一个带有 View 的 MVC 5 Controller 。我有一个公共(public)模型类,它对具有私有(private)集访问修饰符的属性具有 protected 访问修饰符。 是否可以为具有私有(private)集保护属性的模型创建 Controller ?

模型类:

public class Movie
{
    protected int ID { get; private set; }
    protected string Title { get; private set; }
    protected DateTime ReleaseDate { get; private set; }
    protected string Genre { get; private set; }
    protected decimal Price { get; private set; }
}

连接字符串:

<add name="MovieDBContext" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=aspnet-MvcMovie;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\Movies.mdf" providerName="System.Data.SqlClient" />

当我尝试创建那种 Controller 时出现错误: enter image description here

我尝试在 ID 属性之前添加 [key] 前缀,但这没有帮助。

最佳答案

您的主键需要是 public 访问修饰符。

 public class Movie
 {
     public int ID { get; private set; }
 }

关于c# - Entity Framework (MVC) - 为具有 protected 属性的模型创建 Controller 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55675160/

相关文章:

c# - 如何连续读取文本文件

c# - 如何在asp.net mvc 中为属性路由添加默认参数

c# - 带字符串数组的串联 Where 子句

c# - 无法将 HttpPostedFileBase 对象转换为字节数组

c# - 如何调用具有重载的重写方法?

asp.net-mvc - 是否可以在 MVC View 中检索 HTTP 状态响应代码?

c# - Entity Framework : own ondelete action

mysql - 使用多个dbcontexts并且找不到原始数据库

c# - ASP.NET Core - 使用 Windows 身份验证进行授权

c# - Asp.Net MVC 5.1网站在线聊天解决方案