请在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”(在这里基本上与第一行)上述错误信息弹出。
在此先感谢。
假设FindByEmailAsync实际上是一个异步方法,它可能会返回一个Task。这意味着用户是一个任务而不是回购用户。因此,当您尝试将用户(任务)设置为新的RepoUser时,您会遇到不存在隐式转换的类型不匹配。 – Kevin