尝试使用 DbQuery 。我需要使用原始sql获取非实体类型 UserDetailDTO 。在上下文中添加了 DbQuery 并从控制器中调用它。但是它会生成 system.Data.SqlTypes.SqlNullValueException 。
我的环境:
public class TrainingAppDbContext : DbContext
{
public DbSet<User> Users { get; set; }
public DbQuery<UserDetailDTO> UserDetailDTO { get; set; }
public TrainingAppDbContext(DbContextOptions<TrainingAppDbContext> options)
: base(options)
{
Database.EnsureCreated();
}
}
控制器:
public class AccountController : Controller
{
private readonly TrainingAppDbContext ct;
public AccountController(TrainingAppDbContext ct)
{
this.ct = ct;
}
public IActionResult Test()
{
var results = ct.UserDetailDTO.FromSql("SELECT * FROM users").ToList();
return View();
}
}
如果您能帮助我,将不胜感激!
在数据库中,行具有NULL值,但模型字段不是为这些值设计的。