より最適化できるいくつかの方法があり、誰かが解決策も説明できれば非常に役立ちます。エンティティ フレームワークで ASP.NET MVC 4 を使用しています。
まず、私はこの方法を持っています:
//gets all the items by id
var GetAllItems = re.GetAllWorldNewsByID();
// loops through all items
foreach (var newsitemz in GetAllItems)
{
if (newsitemz.Date <= DateTime.Now.AddDays(-2))
{
re.DeleteNews(newsitemz);
re.save();
}
}
この削除ループを News から Date <= @twodaysold の単一の削除に変更するにはどうすればよいですか? それができればもっと良いパフォーマンスが得られると思います。
このメソッドは、私のプロジェクトでよく使用されるリポジトリ ファイル内にあります。
public void AddNews(News news)
{
var exists = db.News.Any(x => x.Title == news.Title);
if (exists == false)
{
db.News.AddObject(news);
}
else
{
db.News.DeleteObject(news);
}
}
ニュース アイテムのタイトルがデータベースに既に存在するかどうかを確認し、存在する場合はアイテムを削除し、そうでない場合は追加します。私はそれがひどく作られていることを知っています。より適切に最適化するには、upset
/を実行する必要がありmerge
ます。どんな種類の助けも大歓迎です。