我正在尝试为新身份系统开发数据库第一种方法,而且我目前正在努力。这就是我到目前为止所拥有的
public class MyCustomUserStore<T>: IUserStore<T> where T:ApplicationUser
{
public System.Threading.Tasks.Task<T> FindByIdAsync(string userId)
{
Task<ApplicationUser> taskInvoke = Task<ApplicationUser>.Factory.StartNew(() =>
{
//Here is where I will lookup my existing legacy database table
//setting some dummy value here to the properties added tothe ApplicationUser class
ApplicationUser obj = new ApplicationUser();
obj.Id = "userid : " + userId;
return obj;
});
return taskInvoke;
}
}
我得到的错误是
Cannot implicitly convert type 'System.Threading.Tasks.Task<MyProject.Models.ApplicationUser>' to 'System.Threading.Tasks.Task<T>'
问题1.)我的班级是否正确定义?如果是,我该如何进一步获取从此方法返回的值?
问题2.)我是否应该为实现这个类的方法而烦恼?如果我只是扩展了UserManager类并覆盖了它的所有方法,那就不会更好
public class MyCustomUserManager : UserManager<ApplicationUser>
{
}
答案 0 :(得分:1)
这样的事情应该有效
public System.Threading.Tasks.Task<T> FindByIdAsync(string userId)
{
var obj = new T();
obj.Id = "userid : " + userId;
return Task.FromResult(T);
}