导入存储过程然后创建复杂类型并将函数命名为import“ sproc_Forums_GetForumGroupByID”后,出现此错误,一旦选择GridView,此过程将从ObjectDataSource获取单个论坛。我在ExecuteReader的行上收到错误。我已经有一个与实体框架一起使用的存储过程,并且它可以完美地运行,当我启动第二个过程时,我不明白发生了什么问题
没有在EntityContainer'CMSEntities'中定义EntitySet'sproc_Forums_GetForumGroupByID'。在简单标识符附近,第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;
}
}
}
最佳答案
验证sp是否存在于数据库中。
更新实体模型。
在模型浏览器中使用“导入功能”导入存储过程。
附带说明,我通常按以下方式使用存储过程。
IMO比使用EntityDataReader更简单。
public Forum GetForumGroup(int forumGroupID)
{
using(CMSEntities cmsContext = new CMSEntities())
{
var forum = cmsContext.sproc_Forums_GetForumGroupByID(forumGroupID);
//...
}
}
关于c# - 没有在EntityContainer中定义EntitySet'sproc_Forums_GetForumGroupByID',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9203632/