所以我有一个目前正在使用最新版本的EF Core,ASP.NET,ASP.NET Identity等开发的Razor页面Web应用程序>]
[我想做的是使用我的Razor页面之一的OnGetAsync方法获取当前登录用户,但我也只想检索由已登录用户创建的最新数据条目,以与我的Razor页面一起显示.cshtml文件。
我已经尝试实现在stackoverflow和其他地方找到的UserManager技术,但是我在代码行中不断遇到以下2个错误,在该行中,我将登录用户与相关数据库实体表的userid列进行比较:
使用以下代码设置
public async Task<IActionResult> OnGetAsync() { var userId = await _userManager.GetUserAsync(User); string UserId = Convert.ToString(userId); if (UserId == null) { return NotFound(); } ForecastCinema = await _context.ForecastsCinema .Where(f => f.UserId == userId); }
“运算符'=='不能应用于类型为'string'和'AppUser'”的操作数。
AppUser是我的数据库中用于.Net Identity的User表的名称
并且使用另一种类型的代码格式,下面是其他错误
public async Task<IActionResult> OnGetAsync() { var userId = await _userManager.GetUserAsync(User); string UserId = Convert.ToString(userId); if (UserId == null) { return NotFound(); } ForecastCinema = await _context.ForecastsCinema .Where(f => f.UserId == UserId); }
“ IQueryable不包含'GetAwaiter'的定义,找不到可以接受的扩展方法'GetAwaiter'接受类型为'IQueryable的第一个参数(您是否缺少using指令或程序集引用?)”
有人可以请请帮助我看看这里发生了什么吗?我尝试将UserManager声明“转换”为字符串,但没有成功,这是行不通的。我在下面附加了有问题的方法的代码以供参考。在此先感谢您对编码人员的帮助和见解:)
所以我有一个Razor页面Web应用程序,我目前正在使用最新版本的EF Core,ASP.NET,ASP.NET Identity等进行开发。我想做的是使用来登录当前的User。 ..
“运算符'=='不能应用于类型为'string'和'AppUser'的操作数”