min*_*int -3 c# database asp.net asp.net-mvc visual-studio
我是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();
}
Run Code Online (Sandbox Code Playgroud)
当我单击一个按钮时,我调用此方法,然后服务器需要半分钟,并说它无法访问该视图.
然后我检查我的数据库,我有500多个新的数据行.
我不确定发生了什么,但看起来它不断调用这个方法并写入数据库.
任何人都知道为什么,以及如何解决它?
你最后用递归方式调用方法
return EggRecieved();
Run Code Online (Sandbox Code Playgroud)
你应该回到ActionResult那里,比如
return View("MyView");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |