我不知道这个错误发生了什么:
传入字典的模型项目的类型为“System.Collections.Generic.List1 [RepositoryExample.Employee]”,但是该字典需要一个类型为“RepositoryExample.Models.IEmployeeManagerRepository”的模型项.
当我转到索引视图时,我收到错误.我从控制器添加了索引视图,但没有代码.我使用Linq到sql.
@model RepositoryExample.Models.IEmployeeManagerRepository @{ ViewBag.Title = "Index"; } <h2>Index</h2>
这是我的代码:
EmployeeController.cs
// GET: /Employee/ public ActionResult Index() { return View(_repository.Listemployees()); }
LinqEmployeeManagerRepository.cs
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(); } }
IEmployeeManagerRepository.cs
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(); }
}
任何想法我做错了什么?我试图按照本教程中的Repository模式的例子(http://www.asp.net/mvc/tutorials/iteration-4-make-the-application-loosely-coupled-cs)
解决方法
原文地址:https://www.jb51.cc/aspnet/246284.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。