【发布时间】:2014-05-21 13:36:01
【问题描述】:
我仍然是 MVC 的新手,但我开始对总体情况有所了解,但我仍然混淆了 namespace 或 using 之类的东西,我认为这可能是我误会的情况引用一些东西。
问题:我正在尝试添加一个 EmployeeInfo 视图,带有 List 模板,模型类:EmployeeInfo,数据上下文类:MoviesEntities
自动生成不会执行。当我在 Controller 的方法 EmployeeInfo 中单击鼠标右键时。我选择“添加视图”选项,填写信息,然后点击添加,在脚手架加载屏幕期间它给了我如下错误。
运行所选代码生成器时出错:'无法 检索“WebApplication2.Models.EmployeeInfo”的元数据。”
我的控制器
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using WebApplication2.Entities;
using WebApplication2.Models;
namespace WebApplication2.Controllers
{
public class MoviesController : Controller
{
private MoviesEntities db = new MoviesEntities();
// GET: /Movies/
public ActionResult Index()
{
return View(db.Movies.ToList());
}
public ActionResult EmployeeInfo()
{
var query =
from m in db.Movies
join me in db.MovieEmployees
on m.ID equals me.movieID
join e in db.Employees
on me.employeeID equals e.ID
join r in db.Roles
on me.roleID equals r.ID
select new EmployeeInfo() {Name = e.Name, Role = r.RoleType, Birthday = e.Birthday };
return View(query.Distinct().ToList());
}
}
}
我的背景
//------------------------------------------------------------------------------
// <auto-generated> Built from database Movie </auto-generated>
//------------------------------------------------------------------------------
namespace WebApplication2.Entities
{
using System;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using movieLayer;
using WebApplication2.Models;
public partial class MoviesEntities : DbContext
{
public MoviesEntities()
: base("name=MoviesEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<Employee> Employees { get; set; }
public virtual DbSet<Location> Locations { get; set; }
public virtual DbSet<Movie> Movies { get; set; }
public virtual DbSet<MovieEmployee> MovieEmployees { get; set; }
public virtual DbSet<Role> Roles { get; set; }
public virtual DbSet<Show> Shows { get; set; }
public virtual DbSet<sysdiagram> sysdiagrams { get; set; }
public System.Data.Entity.DbSet<WebApplication2.Models.EmployeeInfo> EmployeeInfoes { get; set; }
}
}
EmployeeInfo的型号:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Web.Mvc;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace WebApplication2.Models
{
public class EmployeeInfo
{
public EmployeeInfo() { }
public string Name { get; set; }
public string Role { get; set; }
public DateTime Birthday { get; set; }
}
}
【问题讨论】:
-
你的问题是什么?
-
我正在尝试为 EmployeeInfo 创建一个视图
-
错误在哪一行抛出?
-
@tereško 当我在 Controller 的方法 EmployeeInfo 中单击鼠标右键时,它不会运行自动生成。我选择选项,点击添加,在脚手架加载屏幕期间它给了我错误
-
@Andrei 没有行。在我为 EmployeeInfo 提交“添加视图”选项后,它停止并吐出错误。
标签: c# asp.net-mvc