Asp.net mvc MVC错误-传递到字典的模型项的类型为“System.Collections.Generic.List”`

Asp.net mvc MVC错误-传递到字典的模型项的类型为“System.Collections.Generic.List”`,asp.net-mvc,asp.net-mvc-3,razor,ienumerable,Asp.net Mvc,Asp.net Mvc 3,Razor,Ienumerable,我不知道这个错误是怎么回事: 传入字典的模型项的类型为“System.Collections.Generic.List1[RepositoryExample.Employee]”,但此字典需要类型为“RepositoryExample.Models.IEEmployeeManagerRepository”的模型项` 当我转到索引视图时,会出现错误。我从控制器添加了索引视图,但其中没有代码。我正在使用LINQtoSQL @model RepositoryExample.Models.IEmploy

我不知道这个错误是怎么回事:

传入字典的模型项的类型为“System.Collections.Generic.List1[RepositoryExample.Employee]”,但此字典需要类型为“RepositoryExample.Models.IEEmployeeManagerRepository”的模型项`

当我转到索引视图时,会出现错误。我从控制器添加了索引视图,但其中没有代码。我正在使用LINQtoSQL

@model RepositoryExample.Models.IEmployeeManagerRepository

@{
ViewBag.Title = "Index";
}

<h2>Index</h2>
LinqEmployeeManagerRepository.cs

IEmployeeManagerRepository.cs

知道我做错了什么吗?我试图遵循本教程中关于存储库模式的示例:.

在Index.cshtml视图的顶部替换:

@model RepositoryExample.Models.IEmployeeManagerRepository
与:


这就是您应该在视图中的@model指令中使用的类型。

好的,我这样做了,但是现在我得到了一个新的错误:描述:在编译服务此请求所需的资源时发生了一个错误。请查看以下特定错误详细信息,并适当修改源代码。编译器错误消息:CS0234:命名空间“RepositoryExample.Models”中不存在类型或命名空间名称“Employee”。是否缺少程序集引用?@MikeB55,确定,请使用定义此Employee类的正确命名空间@模型IEnumerable。我已经更新了我的答案。太好了。非常感谢你。在过去的3个小时里,我一直在寻找这个错误。现在我把它添加到了你所建议的@ iMyDeBuy。@ MiKB55,如果这篇文章帮助你解决了这个问题,你就应该点击旁边的嘀嗒声,我就这么做了。以前试过,但系统告诉我要等5分钟才能完成。
public class LinqEmployeeManagerRepository: RepositoryExample.Models.IEmployeeManagerRepository
{
    private DeptDirectoryDataClassesDataContext _db = new DeptDirectoryDataClassesDataContext();

    public Employee GetEmployee(string UserName)
    {
        return (from e in _db.Employees where e.UserName == UserName select e).FirstOrDefault();
    }

    public IEnumerable<Employee> ListEmployees()
    {
        return _db.Employees.ToList();
    }

    public Employee CreateEmployee(Employee employeeToCreate)
    {
        _db.Employees.InsertOnSubmit(employeeToCreate);
        _db.SubmitChanges();
        return employeeToCreate; 
    }

    public Employee EditEmployee(Employee employeeToEdit)
    { 
        var OriginalEmployee = GetEmployee(employeeToEdit.UserName);
        _db.Employees.Attach(employeeToEdit, OriginalEmployee);
        _db.SubmitChanges();
        return employeeToEdit; 
    }

    public void DeleteEmployee(Employee employeeToDelete)
    {
        var OriginalEmployee = GetEmployee(employeeToDelete.UserName);
        _db.Employees.DeleteOnSubmit(OriginalEmployee);
        _db.SubmitChanges();     
    }
}
namespace RepositoryExample.Models
{
    public interface IEmployeeManagerRepository
    {
        Employee CreateEmployee(Employee employeeToCreate);
        void DeleteEmployee(Employee employeeToDelete);
        Employee EditEmployee(Employee employeeToUpdate);
        Employee GetEmployee(string UserName);
        IEnumerable<Employee> ListEmployees(); 
    }
}
@model RepositoryExample.Models.IEmployeeManagerRepository
@model IEnumerable<RepositoryExample.Employee>
return View(_repository.ListEmployees());