私は新しいASP.NET Webforms開発者です。 Entity FrameworkとRepository Patternの使い方を今学んでいます。私が今苦労しているのは、TRequestテーブルから各リクエストの承認ステータスを取得する方法です。私のデータベーススキーマは次のとおりです。このリクエストのリストを各リクエストのステータスで取得するにはどうすればよいですか?
TRequest: Id, Title, Reason
TApproval: Id, RequestId, StatusId
TStatus: Id, Title
私がしたいのは、各リクエストのステータスを含むリクエストのリストを取得することです。私のリポジトリのパターンでは
、私は次のコードを持っている:私は第二の方法GetRequestByStatusでエラーを取得していますなぜ
public IEnumerable<TRequest> GetRequest()
{
return context.TRequest.ToList();
}
public IEnumerable<TRequest> GetRequestByStatus(int statusId)
{
return GetRequests().Where(r => r.TApproval.TStatus.Id).ToList(); //I got an error here
}
を?私はr.TApproval.TStatus.Id
と言うことができません。理由はわかりません。
おかげで行を変更する必要があります。私はこれを知っているが、私が実際にはわからないのは、上記の私の問題を解決する方法です。 –
@TechLoverよろしくお願いいたします。だからここには奇妙なことがある。私が見ることができるように、 'TRequest'は' TApproval'への参照がありません。あなたが望むとは思えないと言われているのは、 'TRequest'テーブルを照会することによって実現可能です。それは奇妙な考えです。一方、私はあなたが 'TApproval'テーブルを照会し、結果に対応する' TRequest'を含めることによって、あなたが望むものを得ることができると仮定できます。私はこの 'context.TApproval.Inlcude(appr => appr.TRequest)'のようなものがあなたの場合に役立つかもしれないと思います。 – Christos