asp.net と c# を使用して多言語ニュース ポータル Web サイトを開発しています。現在、このサイトは 2 つの言語をサポートしており、必要に応じて他の言語に拡張される予定です。そのため、サイトの基本的なフレームワークを作成するのが私の仕事です。クライアントの要件に基づいて、異なる言語の Web サイトのデータベースに格納されるコンテンツは異なる場合があります。そのため、ニュースをさまざまな言語 (tblNews_EN、tblNews_am など) で保存して、英語またはアムハラ語のコンテンツを保存するためのさまざまなテーブルを作成しました。
これで、最新のニュースを取得するためのクラスができましたが、これらのクラスを一般化して、ユーザーが要求している特定のカルチャの最新のニュースを取得したいと考えています。最初は、tblNews_EN テーブルから最新のニュースを取得するためにのみ機能する次のようなものがあります。
public IQueryable<GetNews> GetTopExtraNews()
{
var topExtraNews = from p in db.GetNews
where p.TopOrderPriority == 2
orderby p.NewsDate descending
select p;
return topExtraNews;
}
ここで、GetNews は、tblNews_EN テーブルに対応するエンティティ クラスです。
ここで、選択したカルチャに応じて異なるテーブルからオブジェクトを返すように、これを一般化したいと考えています。IQueryable のようなものを使用しようとしましたが、これが私のケースに対処するための最良のオプションだとは思いません。それで、これを行うためのより良いオプションはありますか?