ASP.NET Core 6 Web API、EF 6、C#、SQL Server 2019。我知道如何執行回傳記錄集的存盤程序,利用模型映射,并獲取與記錄對應的填充的強型別物件的集合. 這樣生活就好了。
有沒有辦法執行回傳多個記錄集并接收強型別記錄物件集合的存盤程序?
我知道該怎么做SANS物體框架(與,例如老同學SqlDataAdapter/Dataset或通過DataReader手決議的記錄)。
也許有一種方法可以以某種方式將記錄集決議邏輯與 EF 中的查詢執行邏輯分離,手動執行后者,然后從一系列 DataReader 填充記錄集合?
uj5u.com熱心網友回復:
如果您只需要將查詢結果映射到物件,則不需要像 EF Core 6 這樣的全功能 ORM。您可以使用像Dapper這樣的微型 ORM將查詢結果直接映射到物件。
在最常見的情況下,您可以將查詢的結果映射到物件,甚至可以使用引數,例如:
var sql="select * from Products where CategoryId=@category";
var products=connection.Query<Product>(sql,new {category=123});
您還可以映射多個結果:
var sql =
@"
select * from Customers where CustomerId = @id
select * from Orders where CustomerId = @id
select * from Returns where CustomerId = @id";
using (var multi = connection.QueryMultiple(sql, new {id=selectedId}))
{
var customer = multi.Read<Customer>().Single();
var orders = multi.Read<Order>().ToList();
var returns = multi.Read<Return>().ToList();
...
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/359188.html
