我對MVC和ASP.NET很陌生,但遇到了一個奇怪的問題。MVC ASP.NET寫入數據庫正在無意中循環
我將一個條目添加到我的數據庫,然後保存更改,但這不會發生。
[Authorize]
public ActionResult EggRecieved()
{
//CHECK IF THEY HAVE RECIEVED EGG IN LAST DAY
var user = db.PDCUsers.SingleOrDefault(x => x.Username == User.Identity.Name);
var userId = user.Id;
var possibleEggs = db.PkmnDatas.Where(x => x.CanBeEgg == true);
var rand = new Random();
var no = rand.Next(0, possibleEggs.Count());
var pokemonArray = possibleEggs.ToArray();
var pokemon = pokemonArray[rand.Next(0, pokemonArray.Count())];
Boolean? isMale = null;
if (pokemon.GenderRatio != null)
{
isMale = rand.Next(0, 1000) < pokemon.GenderRatio1.ChanceMale * 1000;
}
var isShiny = 1 == rand.Next(1,Constants.SHINYCHANCE);
//GET THE ABILITIES
db.PlayerPkmns.Add(new PlayerPkmn
{
PkmnDataId = pokemon.Id,
Nickname = pokemon.Name,
IsMale = (bool)isMale,
Nature = rand.Next(1, 25),
Ability = 1,
EggObtained = DateTime.Now,
Shiny = isShiny,
CurrentTrainerId = userId,
OriginalTrainerId = userId,
StepsToHatch = Constants.TOTALSTEPSFOREGGHATCH
});
db.SaveChanges();
return EggRecieved();
}
當我點擊一個按鈕時,我調用這個方法,然後服務器花了半分鐘,說它不能訪問視圖。
然後我檢查我的數據庫,並有500多條新的數據行。
我不確定發生了什麼,但它看起來像不斷調用此方法並寫入數據庫。
任何人都知道爲什麼,我該如何修復它?
我覺得很愚蠢。 深夜編碼不是最有效的 – mint