我正在学习ASP.NET Core和Razor页面。在我的实践项目中,我试图对通过迁移(代码优先)添加的数据库执行选择查询。
代码如下:
public string DataTest()
{
var data = CheckDbEntryAsync();
var d1 = data.ToString();
return data.ToString();
}
public async Task<List<UserData>> CheckDbEntryAsync()
{
List<UserData> data;
data = await _context.UserDataItems.FromSql("SELECT * from dbo.UserDataItems").ToListAsync();
return data;
}
输出(“ data.ToString()”或变量“ d1”的值)是:
"System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1+AsyncStateMachineBox`1[System.Collections.Generic.List`1[LearnASP.Models.UserData],LearnASP.Controllers.UserManagerController+<CheckDbEntryAsync>d__6]"
我不知道该如何理解...这不应该是包含表中值的列表吗?
在执行CheckDbEntryAsync之前,“数据”的值为:
Id = 242, Status = WaitingForActivation, Method = "{null}", Result = "{Not yet computed}"
这是我的UserDataDbContext.cs:
public class UserDataDbContext : DbContext
{
public DbSet<UserData> UserDataItems { get; set; }
public UserDataDbContext(DbContextOptions<UserDataDbContext> options) : base(options)
{
}
protected override void OnModelCreating(ModelBuilder builder)
{
base.OnModelCreating(builder);
}
}
我不知道我到底要去哪里...是不是正在执行的查询...还是其他原因...没有错误消息。
请帮助, 谢谢