2010-07-08 55 views
0

如果我在實體框架4中爲存儲過程創建函數導入,並將「返回一個集合」設置爲無,我沒有將存儲過程作爲數據上下文的方法。我如何運行這個存儲過程?實體框架4存儲過程返回無

我正在使用實體框架4與自我跟蹤實體。就我所見,所有其他返回類型似乎都可以正常工作,我可以調用一個方法來運行存儲過程 - 僅當我選擇None作爲返回類型時纔會生成一個方法?

回答

0

您還可以使用直接與語法時才SQL像下面。 db.ExecuteStoreCommand(「exe myproc」);

0

看起來像自我跟蹤實體不會生成方法來運行存儲過程,當它們不返回時。所以我相信,你必須創建函數導入正常,然後手動運行存儲過程,而我在下面做:

  using (TestEntities entities = new TestEntities()) 
      { 
       DbConnection connection = entities.Connection; 
       connection.Open(); 
       DbCommand command = connection.CreateCommand(); 
       command.CommandType = CommandType.StoredProcedure; 
       command.CommandText = "TestEntities.CustomerDelete"; 
       command.Parameters.Add(new EntityParameter("CustomerId", DbType.Int32) { Value = 1 }); 
       command.ExecuteScalar(); 
       connection.Close(); 
      }