0

我正在尝试使用实体框架加载员工。该方法应该返回员工列表。

它给出了这个错误:

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;
         }

     }
4

2 回答 2

1
var Employees = EE.Employees.Where(p => p.Name.StartsWith("T")).ToList();
于 2012-07-13T12:47:35.327 回答
1

将您的代码更新为:

return Employees.ToList();

另请注意,这是ToList()实际触发数据库查询的方法。

EE.Employees.Where(....)不查询数据库。当enumerated的结果时Where()查询数据库,这就是这样.ToList()做的。


谢谢它有效......还有一个问题,假设我想将上面的列表绑定到网格,那么我该如何绑定?

假设您使用的是 WPF 或 Silverlight:要将查询结果绑定到数据网格上,您可以公开类型为 的公共属性ObservableCollection。该集合接受一个IEnumerable<T>对象作为构造函数。你可以写:

var myCollection = new ObservableCollection<Employee>(this.LoadEmployees());

然后将ItemSource数据网格的属性绑定到您的集合。

如果您在使用绑定时遇到更多问题,我建议您再问一个问题,因为主题完全不同。

于 2012-07-13T12:50:18.833 回答