概述
>實體框架核心的演進改變如何處理自訂結果對應的原始SQL查詢。 本文解決了檢索資料的挑戰,尤其是在將表格資料與全文搜尋查詢的結果結合時,重點是針對各種EF核心版本的解決方案。
EF Core 8以後的 EF Core 8和後續版本簡化了此過程。 現在,方法直接支援傳回任意類型。這允許使用無鑰匙實體類型和自訂類別來映射查詢結果。
EF Core 3.0與免鑰匙實體型
對於EF Core 3.0,無鑰匙實體類型提供了乾淨的解決方案。 使用SqlQuery
屬性或呼叫
使用或
執行查詢:>
[Keyless]
HasNoKey()
<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中文網其他相關文章!