尝试从MongoDB数据库中的Employee集合中获取所有记录,作为DAO中的方法,然后将它们作为包含Employee所有实例的列表返回。但是,当我尝试在
方法中返回我的empist时public Employee GetAll()
{
List<Employee> empList = new List<Employee>();
try
{
empList.AddRange(repo.GetAll<Employee>().ToList());
}
catch (Exception ex)
{
DALUtils.ErrorRoutine(ex, "EmployeeDAO", "GetAll");
}
return empList;
}
它告诉我我
"不能隐式转换类型"System.Collections.Generic。列表"HelpdeskDAL。员工' ' '(错误代码:CS0029)
如果它们不是同一类型,这是有意义的。我没能看到HelpdeskDAL.Employee
实例的列表与单个Employee
实例的类型不同。
任何建议吗?
您说您想返回整个列表,但是您的返回类型只是一个对象。Change to a List<Employee>
:
public List<Employee> GetAll() { }
你说:
我没能看到
HelpdeskDAL.Employee
实例的列表与单个Employee
实例的类型不同。
List<T>
与T
(在您的例子中是Employee
)是完全不同的对象。你不能把它们换掉。想象一下,如果你在返回对象上调用emp.Name
,如果它是一个列表,会发生什么。什么Name
?哪个员工?编程不能靠猜测。你需要准确地告诉编译器你想要什么
您应该返回您的雇员列表<>:
public List<Employee> GetAll()
{
List<Employee> empList = new List<Employee>();
try
{
empList.AddRange(repo.GetAll<Employee>().ToList());
}
catch (Exception ex)
{
DALUtils.ErrorRoutine(ex, "EmployeeDAO", "GetAll");
}
return empList;
}
您的empList
是List<Employee>
类型,但在您的方法中您返回Employee
。使方法返回类型为List<Employee>
将解决问题
public List<Employee> GetAll()
{
List<Employee> empList = new List<Employee>();
try
{
empList.AddRange(repo.GetAll<Employee>().ToList());
}
catch (Exception ex)
{
DALUtils.ErrorRoutine(ex, "EmployeeDAO", "GetAll");
}
return empList;
}