私はUserId、DatePosted、PostTextを持つPostsというテーブルがあるとします。 Entity FrameworkにSQLを生成させて、すべてのユーザーが最新の投稿のリストを取得する方法を教えてください。Entity Framework/LINQを使用しているすべてのユーザーから最新の投稿を取得する
SQLの場合、ユーザーは2つの投稿を同じタイミングで投稿しても動作しませんが、コードのエッジケースを除外することができます。
select * from
Posts p,
(select UserId, max(DatePosted) as DatePosted from Posts group by UserId) rp
where p.UserId=rp.UserId and p.DatePosted=rp.DatePosted;
SQLは正しいポストを返すようですが、これをどのようにEntity Framework LINQに変換するのか分かりません。 「正確に同じ時間」の問題については
、あなたの投稿のテーブルにrowversion列を使用し、ちょうどそれらのいずれかを最大をつかみます。 http://msdn.microsoft.com/en-us/library/ms182776.aspx – Brandon