我正在尝试使用Entity Framework加载员工。 该方法应该返回员工列表。
它给出了这个错误:
Cannot implicit convert....<Class names and methods>.... An Explicit conversion exists.
我认为这个问题与演员有关。
请检查以下代码。
public List<Employee> LoadEmployees()
{
try
{
EMployeeDB1Entities EE = new EMployeeDB1Entities();
var Employees = EE.Employees.Where(p => p.Name.StartsWith("T"));
return Employees;
}
catch
{
return null;
}
}
答案 0 :(得分:1)
var Employees = EE.Employees.Where(p => p.Name.StartsWith("T")).ToList();
答案 1 :(得分:1)
将您的代码更新为:
return Employees.ToList();
另请注意,这是实际触发数据库查询的ToList()
方法。
EE.Employees.Where(....)
不查询数据库。当Where()
的结果被枚举时,会查询数据库,这是.ToList()
所做的。
感谢它的工作...还有一个问题,假设我想绑定上面的列表 到网格然后我怎么绑定?
假设您使用的是WPF或Silverlight:
要在数据网格上绑定查询结果,可以公开类型为ObservableCollection
的公共属性。
此集合接受IEnumerable<T>
对象作为构造函数。
你可以写:
var myCollection = new ObservableCollection<Employee>(this.LoadEmployees());
然后将datagrid的ItemSource
属性绑定到您的集合。
如果您在使用绑定时遇到更多问题,我建议您再提一个问题,因为主题完全不同。