Dot-Net

實體框架中使用程式碼優先的 TVF(表值函式)

  • April 10, 2014

有誰知道是否可以使用程式碼優先在實體框架中使用 TVF?再具體一點:

我知道目前不支持程式碼優先(而且看起來 EF6 也不會允許它)。另一方面,EF 的更高版本在數據庫優先方案中支持 TVF(這對我來說不是一個選項)。我想知道是否有人知道是否有某種方法可以通過操縱模型或類似的東西來模擬數據庫首先做什麼?

進一步澄清;我知道它可以通過使用 SQL 來包含 TVF,但我還需要 TVF 是可組合的(即成為實體 LINQ 語句的一部分)。

現在這是可能的。我創建了一個自定義模型約定,它允許在 EF6.1 的 CodeFirst 中使用儲存函式。該約定可在 NuGet http://www.nuget.org/packages/EntityFramework.CodeFirstStoreFunctions上找到。這是包含所有詳細資訊的部落格文章的連結:http: //blog.3d-logic.com/2014/04/09/support-for-store-functions-tvfs-and-stored-procs-in-entity-框架-6-1/

目前是不可能的。它被推遲到EF6之後。最好的辦法是在他們的使用者語音板上投票。該功能建議的標題為“表值函式的程式碼優先支持”。我只投了 3 票。

引用自:https://stackoverflow.com/questions/16901391