私はこれらのクラスを持っています
class Match
{
int MatchID,
int TeamID, //used to reference Team
... other fields
}
注: 試合には実際には 2 つのチームがあり、これは 2 つの TeamID を意味します
class Team
{
int TeamID,
string TeamName
}
私の見解List<Match>
では、TeamName を表示する必要があります。だから私は別のフィールドを追加しました
class Match
{
int MatchID,
int TeamID, //used to reference Team
... other fields
string TeamName;
}
できるようになりました
Match m = getMatch(id);
m.TeamName = getTeamName(m.TeamId); //get name from database
ただし、 のList<Match>
場合、getTeamName(TeamId)
データベースにアクセスして、各 TeamID の TeamName を取得します。
1 ページあたり 10 件の一致のページの場合、(10x2Teams)=20
データベースへのトリップになる可能性があります。
これを回避するために、すべてを一度ロードしてメモリに保存し、メモリ内の TeamName のみを検索するという考えがありました。これにより、レコードが 5000 件以上になるとどうなるかを再考するようになりました。
これに対するより良いアプローチはありますか?ありがとう。