سلام دوستان
برای یک سیستم قرعه کشی نیاز به تولید دو میلیون کد دارم
زمانی که از حلقه For استفاده میکنم و با Guid کد ها رو تولید میکنم ( البته فقط 8 رقم اولش رو میگیرم) به ازای 1000 بار چرخش حلقه تقریبا 1 دقیقه سیستم زمان نیاز داره.
کد هارو داخل یه Hashset میریزم که اگه مقدار تکراری هم داشت داخل لیست قرار نگیره. در نهایت اون لیست رو به DbContext ، توسط متد Addrange اضافه میکنم.
وقتی حلقه رو به جای 1000 روی 100000 ( صد هزار ) تنظیم میکنه مصرف CPU به 100% میرسه و به حالت انفجار میره

از ترد هم که استفاده کنم بازم همین موضوع هست.
حالا تولید حلقه یک طرف، ذخیره کردنش توی دیتایس هم یک طرف.
اینم بگم هاست اشتراکی داریم برای این کار و فکر کنم اگر این دستورات رو روی سرور اجرا کنم کلا سرور بترکه.

بهترین روش برای تولید این کدها چیه؟