2012-02-09 67 views
3

我在導入存儲過程後出現此錯誤,然後創建複雜類型並命名爲導入「sproc_Forums_GetForumGroupByID」此過程從ObjectDataSource獲取單個論壇後, GridView被選中。我得到了ExecuteReader的錯誤。我已經有一個存儲過程與實體框架一起工作,它完美的工作我不明白當我開始我的第二個程序時出了什麼問題EntitySet'sproc_Forums_GetForumGroupByID'未在EntityContainer中定義

EntitySet'sproc_Forums_GetForumGroupByID'未在EntityContainer'CMSEntities'中定義。近簡單的標識符,行1,列13

public class Forums 
{ 
    public Forum GetForumGroup(int ForumGroupID) 
    { 
     using (EntityConnection conn = new EntityConnection("name=CMSEntities")) 
     { 
      conn.Open(); 
      EntityCommand cmd = new EntityCommand("CMSEntities.sproc_Forums_GetForumGroupByID", conn); 
       cmd.Parameters.AddWithValue("ForumGroupID", ForumGroupID); 


       using (EntityDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleRow)) 
       { 
        /* 
        Forum forum = null; 
        int forumID = (int)reader[0]; 
        string addedBy = reader[1].ToString(); 
        DateTime addedDate = (DateTime)reader[2]; 
        string title = reader[3].ToString(); 
        string updatedBy = reader[4].ToString(); 
        DateTime updatedDate = (DateTime)reader[5]; 
        bool active = (bool)reader[6]; 

        forum = new Forum(forumID, addedBy, addedDate, title, "", 0, 0, false, "", 
         updatedBy, updatedDate, active, "", 0, "", DateTime.Now, ""); 
        return forum;*/ 
       }    

       return null; 

     } 
    } 
} 
+1

檢查您的實體模型(.edmx文件)以驗證存儲過程的存在。 – Yeonho 2012-02-09 00:16:07

+0

它存在於我的edmx中 – ONYX 2012-02-09 00:22:06

回答

0
  1. 驗證SP存在於數據庫中。
  2. 更新實體模型。
  3. 在您的模型瀏覽器中使用'導入功能'來導入存儲過程。

作爲旁註,我通常使用我的存儲過程如下。 海事組織它比使用EntityDataReader更簡單。

public Forum GetForumGroup(int forumGroupID)  
{ 
    using(CMSEntities cmsContext = new CMSEntities()) 
    { 
     var forum = cmsContext.sproc_Forums_GetForumGroupByID(forumGroupID); 
     //... 
    } 
}