首頁 >後端開發 >C++ >如何在實體框架核心中使用自定義結果映射執行RAW SQL查詢?

如何在實體框架核心中使用自定義結果映射執行RAW SQL查詢?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-27 00:56:12424瀏覽

How Can I Execute Raw SQL Queries with Custom Result Mappings in Entity Framework Core?

>執行原始SQL查詢和實體框架核心中的自訂結果對應

概述

>實體框架核心的演進改變如何處理自訂結果對應的原始SQL查詢。 本文解決了檢索資料的挑戰,尤其是在將表格資料​​與全文搜尋查詢的結果結合時,重點是針對各種EF核心版本的解決方案。

EF Core 8以後的 EF Core 8和後續版本簡化了此過程。 現在,方法直接支援傳回任意類型。這允許使用無鑰匙實體類型和自訂類別來映射查詢結果。

EF Core 3.0與免鑰匙實體型 對於EF Core 3.0,無鑰匙實體類型提供了乾淨的解決方案。 使用SqlQuery屬性或呼叫

使用

執行查詢:

> [Keyless] HasNoKey()

EF Core 2.1與查詢類型
<code class="language-csharp">[Keyless]
public class SomeModel { ... }

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<SomeModel>().HasNoKey();
}</code>

FromSqlRaw ef core 2.1引進了查詢類型,為映射自訂類別的結構化方法。 在您的FromSql>上新增

屬性,並使用
<code class="language-csharp">var result = context.SomeModels.FromSqlRaw("YOUR SQL SCRIPT").ToList();</code>
>

摘要

DbQuery<T>這些方法在執行實體框架核心中的原始SQL查詢時有效地解決了自訂結果映射的需求,從而啟用了靈活的資料檢索,包括涉及全文搜尋結果和組合資料集的方案。 選擇最適合您的EF核心版本的方法。 記得用實際的SQL查詢取代DbContext> FromSql

以上是如何在實體框架核心中使用自定義結果映射執行RAW SQL查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn