iT邦幫忙

0

C# EF6 使用預存的方法

  • 分享至 

  • xImage

目前使用EF6,預存有加入edmx,然後預存傳入三個參數,

目前有兩個問題

  1. 執行後會跳出
    EntityCommand.CommandText 的值對 StoredProcedure 命令無效。EntityCommand.CommandText 值必須是 'ContainerName.FunctionImportName' 格式。
  2. 我參考這個後,發現他有多一個複雜類型,想問複雜類型的部分,是一定要有資料表才可以,還是可以自己創一個虛擬的複雜類型接資料出來(變數q)?

或是EF6在使用預存有甚麼部分需要注意跟設定的
程式

使用的部分
using (var Connect = new Entities())
{
    var q = Connect.SP_FP_BOM_EXPLODE("1,2", "G", "N");
}

Model的部分
public virtual int SP_FP_BOM_EXPLODE(string p_parts, string p_plant, string p_showParent)
        {
            var p_partsParameter = p_parts != null ?
                new ObjectParameter("p_parts", p_parts) :
                new ObjectParameter("p_parts", typeof(string));
    
            var p_plantParameter = p_plant != null ?
                new ObjectParameter("p_plant", p_plant) :
                new ObjectParameter("p_plant", typeof(string));
    
            var p_showParentParameter = p_showParent != null ?
                new ObjectParameter("p_showParent", p_showParent) :
                new ObjectParameter("p_showParent", typeof(string));
    
            return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("SP_FP_BOM_EXPLODE", p_partsParameter, p_plantParameter, p_showParentParameter);
        }
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答