2017-02-03 9 views
0

私は最新バージョンを使用してRESTierウェブサイトを持っています。 EF 6でデータベースから作成したすべてのエンティティとビューはうまく動作しますが、私が使用するストアドプロシージャは取得できません。ドキュメントは少し疎であるため、サービスの基本的な起動以外に何かを実装する必要があるかどうかはわかりません。私が見つからない404エラーが出るポストマンを経て、このURIを送信するときRestierストアドプロシージャ機能を使用してHTTPリクエストを処理する

http://192.168.1.20:60666/api/MIC_REST/up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_TEST(jobID=252、fmNumber = 98、ワークエリア= 'A13、D12、A3、A9、A7、A10')

を私は基本的に株式を設定しています以下のサービスのそれがURIであろうとセットアップであろうと、どんな助けでも大いに感謝されます。

WebApiConfig

public static class WebApiConfig 
{ 
    public async static void Register(HttpConfiguration config) 
    { 
     config.EnableSystemDiagnosticsTracing(); 
     config.Filter().Expand().Select().OrderBy().MaxTop(1000).Count(); 
     await config.MapRestierRoute<EntityFrameworkApi<MICdB>>(
      "MIC_REST", "api/MIC_REST", new Microsoft.Restier.Publishers.OData.Batch.RestierBatchHandler(GlobalConfiguration.DefaultServer)); 
    } 
} 

public virtual ObjectResult<up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_Result_TEST> up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_TEST(Nullable<int> jobID, Nullable<int> fmNumber, string workAreas) 
{ 
    var jobIDParameter = jobID.HasValue ? 
      new ObjectParameter("JobID", jobID) : 
      new ObjectParameter("JobID", typeof(int)); 

    var fmNumberParameter = fmNumber.HasValue ? 
      new ObjectParameter("FmNumber", fmNumber) : 
      new ObjectParameter("FmNumber", typeof(int)); 

    var workAreasParameter = workAreas != null ? 
      new ObjectParameter("WorkAreas", workAreas) : 
      new ObjectParameter("WorkAreas", typeof(string)); 

    return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_Result_TEST>("up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_TEST", jobIDParameter, fmNumberParameter, workAreasParameter); 
} 

public partial class up_BomAssemParts_s_ByJobID_FmNumber_WorkArea_Result_TEST 
{ 
    public string BomAssemShipMark { get; set; } 
    public string CurrentLocation { get; set; } 
    public int Quantity { get; set; } 
    public string PlPiecemark { get; set; } 
    public string MatSizeText { get; set; } 
    public string LengthText { get; set; } 
    public string GradeDescription { get; set; } 
    public string PlPiecemarkPrefix { get; set; } 
    public int PlPiecemarkSuffix { get; set; } 
    public string PlCodes { get; set; } 
    public string PlPremark { get; set; } 
    public Nullable<int> FmNumber { get; set; } 
} 
+0

404はハンドラがないことを示していますので、私の問題はコントローラをセットアップすることですResTier/odataによって作成されたコードのハンドラです。したがって、私は、仮想的なObjectResultメソッドをフックする例を探しています。 – patrickL

答えて

0

動作するようにODataControllerを取得しようとしている上で私の頭を叩いた後、私はあきらめていると、実装が非常に簡単なことになったApicontrollerを、使用してに頼っ。 ODataControllerを使用すると、URLを取得できない場合や、oDataRouteを追加しようとするとエラーが発生します。 ResTierを使用してポストされた非常に役に立たないサンプルでは、​​期待する1つの実際の例(UIビューの目的で非エンティティデータのリストを返すストアドプロシージャ)は存在しないように思われます。 ResTierはEntitySetのためにはうまくいくようですが、私が見つけたこの混乱は私にそれを質問させます(またはOdataはどこに不具合があるのか​​わかりません)。ああ、下のデータを取得します...今、私の額にウェルトを修正する圧縮を見つけるために....

関連する問題