我只想從用戶表中獲取用戶的角色和 ID。但是不知道為什么下面的代碼會報錯!!!
public Tuple<Guid,Guid> GetUserId(string mobile)
{
return _context.Users.Select(u => new Tuple<Guid,Guid,Boolean>(u.UserId,u.RoleId,u.Mobile == mobile));
}
我搜索了很多但沒有找到答案?
錯誤:

uj5u.com熱心網友回復:
同時,您現有的代碼將回傳IEnumerable<Tuple<Guid,Guid>>or IQueryable<Tuple<Guid,Guid>>,這與方法回傳型別不匹配,Tuple<Guid,Guid>。
假設您正在嘗試使用mobile.
您需要以下任一方法:
.First().Single().FirstOrDefault().SingleOrDefault()
回傳(單個)結果Tuple<Guid,Guid>。
public Tuple<Guid,Guid> GetUserId(string mobile)
{
return _context.Users
.Where(u => u.Mobile == mobile)
.Select(u => new Tuple<Guid,Guid>(u.UserId,u.RoleId))
.First();
}
uj5u.com熱心網友回復:
當您將布林值轉換為字串時,您會遇到轉換錯誤。
u.Mobile == mobile
它將回傳布林值,而不是字串。
正確的代碼
public Tuple<Guid,Guid> GetUserId(string mobile)
{
return _context.Users.Select(u => new Tuple<Guid,Guid,Boolean>(u.UserId,u.RoleId,u.Mobile == mobile));
}
uj5u.com熱心網友回復:
你的方法定義有問題。您的方法的回傳型別是 Tuple<Guid,Guid> 但您將回傳值作為Tuple<Guid,Guid,Boolean> 它不匹配。
只需將方法回傳 tpye 元組更新為:
public Tuple<Guid,Guid, Boolean> GetUserId(string mobile)
{
return _context.Users.Select(u => new Tuple<Guid,Guid,Boolean>(u.UserId,u.RoleId,u.Mobile == mobile));
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/427149.html
