2011-11-22 175 views
1

我正在使用Entity Framework 4.0,VS 2010,MySql服務器數據庫和mysql-connector-net-6.4.4進行連接。它工作正常,說,它可以很好地生成Model類,csdl,ssdl等文件。但是,對於存儲過程它不起作用。實體框架和MySql存儲過程

這裏是什麼情況..

右鍵點擊從模型瀏覽器的SP,選擇[添加功能導入。這將打開一個對話框 填充適當的值,如函數導入名稱,存儲過程名稱 單擊[獲取列信息]。這會導致在此按鈕底部填充一些網格。在網格中,有一列名爲[EDM類型]。由於某些未知原因,此列顯示[不支持]:( )現在,單擊[創建新複合類型]。此操作正常,沒有錯誤 現在,單擊確定按鈕 完成上述所有步驟後,然而,在代碼中,這是問題的類型創建。

任何人都可以請幫助?

+0

您是否在模型瀏覽器的模型部分的「複雜類型」文件夾中看到複雜類型? – Mentoliptus

+0

@Mentoliptus:是的,我是:) – AhmedSalah

+0

這是答案嗎?如果沒有,你可以在代碼中指定問題嗎? – Mentoliptus

回答

0

生成Complex Type是在模型瀏覽器的型號部分Complex Types文件夾。

要訪問TI在代碼,將其作爲任何其他實體使用

MyComplexType ct = new MyComplexType(); 

而且你可以使用它作爲一個結果類型的存儲過程:

List<MyComplexType> info = ctx.GetAllEmployees().ToList<MyComplexType>(); 

您必須確保GridView的列映射匹配Complex Type的屬性,或者說GridView的財產AutoGenerateColumns設置爲true。

+0

引發HttpException異常: ID爲'GridView1'的GridView的數據源沒有任何要從中生成列的屬性或屬性。確保您的數據源包含內容。 – AhmedSalah

+0

@AhmedSalah是的,我知道如果你的'GridView'沒有匹配Complex Type屬性的列映射,就會拋出一個異常。您必須確保使用代碼或標記。 – Mentoliptus

+0

使用SQL Server執行前面的步驟時,代碼運行時沒有問題。我認爲在使用EF – AhmedSalah