或者我需要使用控制器吗?我有一个 Movies 类、一个 Genres 类和一个 Media 类,我需要将它们合并到模型视图中,以便我可以访问 Razor 页面上的多个模型。我看过很多关于模型-视图-视图模型模式的文档,但它们似乎都围绕着使用控制器。
ViewModel 类,位于名为“ViewModel”的单独文件夹中
namespace MyMovies.Models
{
public class MoviesModelView
{
public List<Movies> Movies { get; set; }
public List<Media> Media { get; set; }
public List<Genres> Genres { get; set; }
public List<TitleType> TitleType { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
我的流派模型的示例。我的其他课程(例如媒体、电影)类似,当然它们有不同的领域。
namespace MyMovies.Models
{
public class Genres
{
[Key]
public byte GenreID { get; set; }
public String GenreName { get; set; }
public String ImageURL { get; set; }
}
} …Run Code Online (Sandbox Code Playgroud) 这是我的错误消息:“IEnumerable”不包含“FirstOrDefaultAsync”的定义,并且找不到接受“IEnumerable”类型的第一个参数的可访问扩展方法“FirstOrDefaultAsync”(您是否缺少 using 指令或程序集引用? )
我已执行以下操作,但错误仍然存在:
我没有忘记使用 await,根据此链接:任务不包含“FirstOrDefault”的定义
我引用了 Sytem.Core 并导入了 System.Linq 和 System.Data.Entity。(System.Linq 不明确/灰色,因此未使用),根据此链接:DbSet 不包含 FirstOrDefault 的定义?
这是我的 .cshtml.cs 代码,其中正在生成错误(第 34 行):
using System.Collections.Generic;
using System.Linq;
using System.Data.Entity;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore;
using Movies.Models;
namespace Movies.Pages.MediaDetails
{
public class DetailsModel : PageModel
{
private readonly Movies.Models.MoviesContext _context;
public DetailsModel(Movies.Models.MoviesContext context)
{
_context = context;
}
MovieDataAccessLayer objmovie = new MovieDataAccessLayer();
public Movies Movies { get; set; }
public async Task<IActionResult> OnGetAsync(byte? id)
{
if …Run Code Online (Sandbox Code Playgroud)