隐式转换 - mvc应用程序
请在C sharp中寻求一些关于类型转换的帮助。我正在使用MVC和Entity Framework核心创建一个应用程序。现在我正在实现身份验证,但是当我创建异步方法时,出现错误“无法隐式地将类型'GymBuddy.Data.Entities.RepoUser'转换为'System.Threading.Task.Task'。 我已阅读了一些文章关于类型转换,但我仍然不清楚这个问题。不一定寻找答案,但也许一些方向如何进一步探索这个问题。在此先感谢。隐式转换 - mvc应用程序
首先,我创建了RepoUser类与几个简单属性。
using Microsoft.AspNetCore.Identity; namespace GymBuddy.Data.Entities
{
public class RepoUser : IdentityUser
{
public string FirstName { get; set; }
public string SecondName { get; set; }
}
}
其次,我创建了一个类,将在未来的种子数据库,但也将检查用户是否存在。
using GymBuddy.Data.Entities; using Microsoft.AspNetCore.Identity;
using System.Threading.Tasks;
namespace GymBuddy.Data
{
public class GymBuddySeeder
{
private readonly UserManager<RepoUser> _userManager;
public GymBuddySeeder(UserManager<RepoUser> userManager)
{
_userManager = userManager;
}
public async Task Seed()
{
var user = _userManager.FindByEmailAsync("[email protected]");
if (user == null)
{
user = new RepoUser()
一旦I型“RepoUser”(在这里基本上与第一行)上述错误信息弹出。
在此先感谢。
回答:
变化
var user = _userManager.FindByEmailAsync("[email protected]");
到
var user = await _userManager.FindByEmailAsync("[email protected]");
的Async
在FindByEmailAsync
结束表明,它可能返回Task<RepoUser>
。不要拿我的话说,当然,看看它的回报。
调用方法返回任务。等待异步值返回任务返回的值。
以上是 隐式转换 - mvc应用程序 的全部内容, 来源链接: utcz.com/qa/263773.html