无法查询 ApplicationDbContext,方法需要 1 个参数
Unable to query ApplicationDbContext, method takes 1 argument
我正在尝试获取模型列表,但我似乎无法查询 ApplicationDbContext.I 正在获取 **No overload for method 'Query' takes 1 arguments。
这是我的 ApplicationDbContext
private readonly ApplicationDbContext _context;
public DapperController(ApplicationDbContext context)
{
_context = context;
}
和 GetAll 方法
public List<PoleModel> GetAll()
{
var obj = _context.Query<PoleModel>("Select * from dbo.GRAD").ToList();
return obj;
}
我应该使用 List 以外的东西吗?像 IEnumerable 之类的?我有点迷茫,因为我之前没有在 .NET Core 工作过...
您需要为代码优先数据库启用迁移才能初始化。打开包管理器并输入:
- 启用迁移
- 添加迁移initCreate
- 更新数据库
您似乎在尝试混合使用 Entity Framework 和 Dapper。您正在注入 ApplicationDbContext,但随后尝试使用 Dapper 查询它,就像您查询 SqlConnection 对象一样。
要使用 EF 查询上下文,您需要执行如下操作:
public List<PoleModel> GetAll()
{
var obj = _context.PoleModelDbSet.ToList();
return obj;
}
而要使用 Dapper,您需要注入一个 SqlConnection,类似于:
private readonly SqlConnection _connection;
public DapperController(SqlConnection connection)
{
_connection = connection;
}
并像这样查询:
public List<PoleModel> GetAll()
{
var obj = _connection.Query<PoleModel>("Select * from dbo.GRAD").ToList();
return obj;
}
我正在尝试获取模型列表,但我似乎无法查询 ApplicationDbContext.I 正在获取 **No overload for method 'Query' takes 1 arguments。 这是我的 ApplicationDbContext
private readonly ApplicationDbContext _context;
public DapperController(ApplicationDbContext context)
{
_context = context;
}
和 GetAll 方法
public List<PoleModel> GetAll()
{
var obj = _context.Query<PoleModel>("Select * from dbo.GRAD").ToList();
return obj;
}
我应该使用 List 以外的东西吗?像 IEnumerable 之类的?我有点迷茫,因为我之前没有在 .NET Core 工作过...
您需要为代码优先数据库启用迁移才能初始化。打开包管理器并输入:
- 启用迁移
- 添加迁移initCreate
- 更新数据库
您似乎在尝试混合使用 Entity Framework 和 Dapper。您正在注入 ApplicationDbContext,但随后尝试使用 Dapper 查询它,就像您查询 SqlConnection 对象一样。
要使用 EF 查询上下文,您需要执行如下操作:
public List<PoleModel> GetAll()
{
var obj = _context.PoleModelDbSet.ToList();
return obj;
}
而要使用 Dapper,您需要注入一个 SqlConnection,类似于:
private readonly SqlConnection _connection;
public DapperController(SqlConnection connection)
{
_connection = connection;
}
并像这样查询:
public List<PoleModel> GetAll()
{
var obj = _connection.Query<PoleModel>("Select * from dbo.GRAD").ToList();
return obj;
}