2015-12-02 56 views
1

我是使用MySQL和實體框架的新手,並在將存儲過程導入edmx文件時遇到問題。在下面的圖片中,您可以看到EDM類型列列出了我從SP返回的所有列被列爲「不支持」。如果我繼續並在窗口中單擊確定,它將生成複雜類型類;但是,類文件不會有任何屬性。MySql EF 6存儲過程導入功能EDM類型不支持

有沒有辦法解決這個問題?我有谷歌和搜索堆棧溢出相當多。我已閱讀的唯一解決方案是手動生成類文件並手動調用SP,或手動修改edmx文件。

Not Supported EDM Types

回答

1

似乎是一個問題,因爲最近的week..ago這裏指出http://bugs.mysql.com/bug.php?id=79180

我手動直接編輯EDMX到屬性添加到是自動生成,並以添加ScalarProperties在是自動生成的FunctionImportMapping部的返回映射的ComplexType ..

做這些手動修改之後,我現在可以使用標準的EF模型調用我的SP,並獲得所有行和列返回的樣子(下面的示例現在適用於我,在手動更改edmx文件之前,我收回的所有對象都是空的列表中的對象 - 每行返回一個對象 - 無數據)

 using (var context = new therinksEntities()) 
     { 

      ObjectResult<getGLDistSection_Result> rdrs = context.getGLDistSection("AIM", "Deferred", "2015-07-01", "2015-09-30"); 
      int i = 0; 
      foreach (getGLDistSection_Result result in rdrs) 
      { 

       NonBlockingConsole.WriteLine(i++ + ":" + 
        result.glaccount + ":" + 
        result.posteddate + ":" + 
        result.customername + ":" + 
        result.category + ":" + 
        result.description + ":" + 
        result.debit + ":" + 
        result.credit + ":" + 
        result.balance); 
      } 
     } 

我正在使用V S 2015和軟件包 - EF 6.1.3,MySql.Data 6.9.8,MySql.Data.Entit 6.9.8 MySql數據庫版本MySql 5.5.46 -log

如果需要許多SP,那麼這是一個痛苦的解決方法使用。但是,通過修改edmx並保存和驗證,所有正確的代碼都會與屬性一起生成 - 因此不需要創建手動類或其他屬性。

+0

是的,我有很多SP我使用,手動創建類和使用它們將花費比它的價值更多的時間。 – InvaderZim

+0

具有諷刺意味的是..如果我直接連接並繞過上下文後..我可以檢索所有的列元,只需通過調用與空parms SP。 – DaveTheRave

相關問題