隐式转换 - 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]"); 

AsyncFindByEmailAsync结束表明,它可能返回Task<RepoUser>。不要拿我的话说,当然,看看它的回报。

调用方法返回任务。等待异步值返回任务返回的值。

以上是 隐式转换 - mvc应用程序 的全部内容, 来源链接: utcz.com/qa/263773.html

回到顶部