none
ef使用存储过程的问题 RRS feed

  • 问题

  • 在EF当中使用存储过程,这两天查了很多资料,有很多写的那种多是增,删,改的存储过程使用方法,如果按照项目需要,要写一个关联很多表的查询,直接写一个存储过程,然后在EF里面怎么调用,昨天查了一下资料,写了下面的这种,但是运行的时候不行

     

     try
          {
            System.Data.Common.DbCommand cmd;
            System.Data.EntityClient.EntityDataReader rd;
            
            cmd = this._content.Connection.CreateCommand();
            cmd.Connection = this._content.Connection;
            if (cmd.Connection.State == System.Data.ConnectionState.Closed) 
            {
              cmd.Connection.Open();
            }
            cmd.CommandType = System.Data.CommandType.StoredProcedure;
            cmd.CommandText = string.Format("{0}.{1}", cmd.Connection.ConnectionString, "SP_GETAllCatalogList");
            System.Data.DataSet ds = new System.Data.DataSet();
            
            //System.Data.SqlClient.SqlDataAdapter adapter = new System.Data.SqlClient.SqlDataAdapter((System.Data.SqlClient.SqlCommand)cmd);
            //adapter.Fill(ds);
            rd = (System.Data.EntityClient.EntityDataReader)cmd.ExecuteReader();
            if (rd.Read())
            {
    
            }
          }
          catch (Exception ex) 
          {
            
          }
    

    crazyBasketball
    2010年7月26日 1:51

答案

  • 如果您用的是EF4 可以直接导入数据库中的函数  直接在context.MethodName  调用


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月26日 4:07

全部回复

  • 如果您用的是EF4 可以直接导入数据库中的函数  直接在context.MethodName  调用


    成为 Microsoft V Dash了。。。 欢迎各位前辈同事在OCS加我
    2010年7月26日 4:07
  • 这个要导入的吗?在EF设计器当中导入的吗?


    crazyBasketball
    2010年7月26日 14:16
  • 模型浏览器中有函数导入
    本帖内容仅供参考,没有任何保证. This post is for reference only, without any warranty.
    2010年7月27日 5:58
    版主
  • 你是不是指将实体映射到函数这个功能,这个功能好像只能映射添加,更新,删除的啊
    crazyBasketball
    2010年7月28日 7:11
  • 是在模型浏览器的函数导入~不是映射详细信息这里
    本帖内容仅供参考,没有任何保证. This post is for reference only, without any warranty.
    2010年7月31日 13:29
    版主