用于 Npgsql 的 C# LINQ
C# LINQ for Npgsql
我一直在 Internet 上广泛搜索,但没有找到在 Npgsql 对象上使用 LINQ 查询的明确途径。我想摆脱使用费力:
using (var connection = new NpgsqlConnection(ConnectionString))
{
using (var adapter = new NpgsqlDataAdapter(query, connection))
{
connection.Open();
var command = adapter.SelectCommand;
command.Parameters.Add(param1);
command.Parameters.Add(param2);
var dataSet = new DataSet();
adapter.Fill(dataSet);
//... Do something with the dataset
}
}
如果我能做类似 LINQ 的事情,我会很高兴:
var pendingBalances = from c in customers
where c.Balance > 100
select new { c.FirstName, c.LastName };
它 easier/shorter 不仅易于编写,而且更易于阅读以进行调试并帮助未来必须阅读它的开发人员。
请告诉我这可能吗?如果是这样,我使用什么对象代替 "customers" 到 运行 查询?它需要某种 DbContext 对吗?感谢您的帮助!
您应该使用具有 Npgsql 提供程序的 EF Core 或 EF 6 ORM。
这里是a link
我一直在 Internet 上广泛搜索,但没有找到在 Npgsql 对象上使用 LINQ 查询的明确途径。我想摆脱使用费力:
using (var connection = new NpgsqlConnection(ConnectionString))
{
using (var adapter = new NpgsqlDataAdapter(query, connection))
{
connection.Open();
var command = adapter.SelectCommand;
command.Parameters.Add(param1);
command.Parameters.Add(param2);
var dataSet = new DataSet();
adapter.Fill(dataSet);
//... Do something with the dataset
}
}
如果我能做类似 LINQ 的事情,我会很高兴:
var pendingBalances = from c in customers
where c.Balance > 100
select new { c.FirstName, c.LastName };
它 easier/shorter 不仅易于编写,而且更易于阅读以进行调试并帮助未来必须阅读它的开发人员。 请告诉我这可能吗?如果是这样,我使用什么对象代替 "customers" 到 运行 查询?它需要某种 DbContext 对吗?感谢您的帮助!
您应该使用具有 Npgsql 提供程序的 EF Core 或 EF 6 ORM。 这里是a link