簡體   English   中英

實體框架未獲取復雜類型的列

[英]Entity Framework isn't getting the columns for Complex Type

目標

我想為我的復雜類型獲取它們各自的列。

問題

這個答案不同,marc_s在第(4) (四) 部分中,我的復雜類型沒有分配給他的數據庫列。

舉例說明:

例子

在你問之前,我的函數導入是正確的:

示例 2

那么,我必須做什么?

更新 1

我嘗試將屬性手動添加到我的復雜類型中,但這是最好的方法嗎?

更新 2

我想自動將標量屬性添加到我的復雜類型 - 就像我之前發布的示例一樣。

@chiefGui 我不太明白你的問題,但似乎當你點擊“獲取列信息”按鈕時,你沒有得到任何列。

如果是這個問題,您可以通過在程序中添加命令來解決它。

發出這樣的命令。

ALTER PROC ProcName  /* ([,parameters] ) */
AS
BEGIN
    /* this command you make the difference */
    SET FMTONLY OFF

    /* other code here */
END

把它放在你的程序內部的第一行。 從 EDMX 中刪除該過程,再次添加並再次嘗試導入。 您將獲得程序返回的所有列。 所以一步一步地工作會很好。

如果這不是您想要的答案,請添加評論,以便我可以幫助您。

已編輯

發生這種情況是因為 EF 嘗試獲取列標題而不獲取結果數據。 如果您的程序具有高度復雜性,則 EF 將僅能夠獲取信息,前提是您的代碼設置為在運行前檢查結構。

您是否注意到字段名稱旁邊的“不支持”標題? 這是因為 MySql 連接器無法從存儲過程結果集中讀取數據類型。 這是 MySQL Net Connector 中的一個錯誤,因為它永遠存在。 解決方法是創建一個具有相同兩列的表(在您的示例中),在將存儲過程導入 EDMX 之前導入該表,並在導入存儲過程時,在“添加函數導入”對話框中,選擇“實體”選項而不是復雜類型,並映射到該表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM