C 타입 변환에 대한 도움을 찾고 있습니다. MVC 및 Entity Framework 코어를 사용하여 응용 프로그램을 만들고 있습니다. 지금은 ID를 구현하고 있지만 비동기 메서드를 만들 때 "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()
"RepoUser"(기본적으로 여기에 첫 번째 줄)를 입력하자마자 위에서 설명한 오류 메시지가 나타납니다.
미리 감사드립니다.
FindByEmailAsync가 실제로 비동기 메서드라고 가정하면 작업을 반환 할 가능성이 높습니다. 즉, 사용자는 RepoUser가 아닌 Task입니다. 따라서 사용자 (작업)를 새 RepoUser로 설정하려고하면 암시 적 변환이없는 유형 불일치가 발생합니다. – Kevin