我正在查询数据库以获取contractorid字段值,该值将返回一个值或null.我需要将它作为整数传递给类方法(int,int).但显然它与最佳超载方法不匹配.我怀疑它是因为int?contractorid值可能为null并且无法转换为整数.但如果我删除?并只使用int然后我得到关于single()linq方法的错误
int UserID = new BussinessComponent().LoginDetails.UserID;
using (var db = new DataContext())
{
int? ContractorID =
db
.Users
.Where(x => x.UserID == UserID)
.Select(x => x.ContractorID)
.Single();
ltlOJ.Text = DashboardComponent.GetJobs(UserID,ContractorID ).ToString();
}
Run Code Online (Sandbox Code Playgroud)
实际上,您需要将您转换int?为a,int因为null无法转换为int.
您可以使用'GetValueOrDefault()`来为您提供默认值.
ltlOJ.Text = DashboardComponent.GetJobs(UserID, ContractorID.GetValueOrDefault(0))
.ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
213 次 |
| 最近记录: |