2017-08-24 5 views
0

ASP.NETコアを使用している私のデータベースからのサーバー応答に奇妙な問題があります。サーバーレスポンスなしASP.NETコアを使用した後

だからこれは私が自分のIDによって参照されている他のオブジェクトを持っているし、私も、私が(インクルードを使用してそれらに到達するテーブルをトレードしかし、内側ケース1を返す200 OKとの素敵なリスト

public IActionResult GetTrades(int id) 
{ 
    var positions = context.Trades.Where(x=>x.WebClientId==id).ToList(); 
    return Ok(positions); 
} 

) 。

public IActionResult GetTrades(int id) 
{ 
    var positions = context.Trades.Where(x=>x.WebClientId==id) 
        .Include(s=>s.Strategy) 
        .Include(p=>p.Portfolio).ToList(); 

    return Ok(positions); 
} 

ここでは、奇妙なことが起こります。私は郵便配達員で何の反応も得ない。何のエラーも、何も、何の応答も得られなかった。

しかし、私がデバッグモードに入り、ブレークポイントを返すと、必要なものはすべてそこにあります。すべてのオブジェクトがそこにあります。それらのストラテジー、ポートフォリオ、すべてのモデルの中に入ることができます。詳細。

他の誰かが同様の問題を抱えていたらうれしいです。ありがとう。

答えて

1

ドメインモデル内にループがありました。 AutoMapperとSeparete Resourcesモデルを使用してループを崩壊させなければならず、すべてが機能し始めました。例えば

取引モデルクラスでは、このようなポートフォリオ・モデル・クラスへの参照があった:

public Portfolio Portfolio { get; set; } //virtual for lazy loading 
public int PortfolioId { get; set; } 

Porfoliosクラスでは、このような歩みクラスへの参照がありました。

public IList<Trade> Trades { get; set; } 

Iは、ループなしPortfolioResourceとTradeResourceように両方のクラスを再作成し、このようAutoMapper使用するコントローラを編集:

public async Task<IEnumerable<TradeResource>> GetPositions(int id) 
{ 

    var positions = await context.Trades 
     .Where(x => x.WebClientId == id) 
     .Include(s => s.Strategy) 
     .Include(p => p.Portfolio) 
     .ToListAsync(); 

    return mapper.Map<List<Trade>, List<TradeResource>>(positions); 
} 

私も

1を使用してASP.NETコアでAutoMapperの適切なインストール後に、このためのマッピングプロファイルを作成した)DOTNETは、パッケージAutoMapper 2を追加)DOTNETは、パッケージAutoMapper.Extensions.Microsoft.DependancyInjection を追加3)ドットネットリストア

services.AddAutoMapper(); ConfigureServicesのStartUp.csに移動します。

Fでは、マッパークラスです。

public class MappingProfie:Profile 
{ 
    public MappingProfie() 
    { 
     CreateMap<Trade, TradeResource>(); 
     CreateMap<Portfolio, PortfolioResource>(); 
     CreateMap<WebClient, WebClientResource>(); 
     CreateMap<Strategy, StrategyResource>(); 
    } 
} 

これ以降、すべての作業が開始されました。

関連する問題