1

これが進むべき道です。テーブルには合計 6 つの値が表示されます。そのうちの 3 つが特定の値である必要があり、他の 3 つのランダムな値はもちろん一致しません。つまり、Currenciesモデルの 2 つの個別のインスタンス (これは問題です) を作成し、必要な 3 つの特定のものを 1 つから選択し、ランダムな 3 つを取得するために他のインスタンスを使用する場合、2 番目のインスタンスからそれらの 3 つの詳細を除外する必要があります。 . 例。

//instance
DateTime today = DateTime.Now.Date;
var currencies = db.Currencies.Where(c => c.DateCreated.Equals(today));

//first get three separate
currency1 = currencies.Where(c => c.Sign.Equals("EUR"));
currency2 = currencies.Where(c => c.Sign.Equals("USD"));
currency3 = currencies.Where(c => c.Sign.Equals("AUD"));

//second get three randoms
var currencies = db.Currencies.Where(c => c.DateCreated.Equals(today)).OrderBy(d => db.GetNewID()).Take(3);

さて、2回目の使用時に通貨を変更する方法があるはずですが(私はそう思います).Except、3つの値を例外にする方法がわかりません。これを行う方法?

4

1 に答える 1

2

出典: LINQ to SQL を使用してテーブルからランダム レコードを取得する

var currencies = db.Currencies.Where(c => c.DateCreated.Equals(today))
                                          .OrderBy(q => db.GetNewId())
                                          .Take(6);

参考:
ランダムな行を選択する方法はありますか?
Linq
linq で N 個のランダム レコードを選択: ランダム順

この助けを願っています..

于 2012-10-17T07:30:01.273 に答える