Han*_*ade 4 c# linq asp.net-mvc
我使用以下代码允许用户搜索其他注册用户,以便将其添加到朋友列表:
[Authorize(Roles = "RegisteredUsers")]
public ActionResult Index(string searchString)
{
//list of registered users
var regUsers = db.Users;
if (!String.IsNullOrEmpty(searchString))
{
regUsers = regUsers.Where(s => s.User.LastName.Contains(searchString));
}
return View(regUsers.ToList());
}
Run Code Online (Sandbox Code Playgroud)
然而,我在第9行得到一个错误regUsers = regUsers.Where(..),说:
"无法隐式将类型转换
System.Linq.IQueryable<ETLToolKit.Models.User>为System.Data.entity.DbSet<ETLToolKit.Models.User>
我该如何重用regUsers变量?
怎么样
IQueryable<User> regUsers = db.Users;
Run Code Online (Sandbox Code Playgroud)
db.Users属于DbSet类型,因此当您进行Where调用时,它会尝试隐式分配不同类型的值regUsers,这不起作用 - 因此出错.
编辑:正如其他人所指出的,AsQueryable可以省略调用.regUsers现在显式为IQueryable类型.
| 归档时间: |
|
| 查看次数: |
568 次 |
| 最近记录: |