C# 无法从控制器将随机生成的int写入DB
我已经生成了一个介于100000和9999999之间的随机整数,并希望动态地将其写入我的数据库(下面的代码)。我正在加载一个现有记录(客户端),并希望将C# 无法从控制器将随机生成的int写入DB,c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,我已经生成了一个介于100000和9999999之间的随机整数,并希望动态地将其写入我的数据库(下面的代码)。我正在加载一个现有记录(客户端),并希望将randomNumber写入该现有记录的字段标记 int生成的结果很好,因为我可以存储在ViewBag中并在我的视图中渲染,但由于未知原因无法写入DB。生成期间没有错误,并且我的数据库和模型中存在标记 我也尝试过使用Token=randomNumber.ToString()没有成功 控制器: public ActionResult SendFor
randomNumber
写入该现有记录的字段标记
int
生成的结果很好,因为我可以存储在ViewBag
中并在我的视图中渲染,但由于未知原因无法写入DB。生成期间没有错误,并且我的数据库和模型中存在标记
我也尝试过使用Token=randomNumber.ToString()代码>没有成功
控制器:
public ActionResult SendForm(int ? id)
{
if (id == null)
{
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
}
Client clients = db.Clients.Find(id);
if (clients == null)
{
return HttpNotFound();
}
Random rndNumber = new Random();
int randomNumber = rndNumber.Next(100000,999999);
ViewBag.rndNumber = randomNumber.ToString();
var client = new Client()
{
Token = ViewBag.rndNumber,
};
db.SaveChanges();
return View(clients);
}
新创建的对象必须添加到DbSet
中,以便EF
检测新对象是否已创建
var client = new Client()
{
Token = ViewBag.rndNumber,
};
db.Clients.Add(client);
db.SaveChanges();
如果要更新现有客户端
clients.Token = randomNumber
db.SaveChanges();
注意客户机
实际上是单个实体,因为查找
与单个或默认
相同,所以必须将新创建的对象添加到DbSet
中,以便EF
检测新对象是否已创建
var client = new Client()
{
Token = ViewBag.rndNumber,
};
db.Clients.Add(client);
db.SaveChanges();
如果要更新现有客户端
clients.Token = randomNumber
db.SaveChanges();
注意客户机
实际上是单个实体,因为Find
与SingleOrDefault
相同,所以只需使用误导性名称谢谢。我应该澄清一下-我正在加载一个现有记录,并希望同时更新“Token”字段。我会修正这个问题。太好了,现在工作得很好。再次感谢。显然是想得太多了…谢谢。我应该澄清一下-我正在加载一个现有记录,并希望同时更新“Token”字段。我会修正这个问题。太好了,现在工作得很好。再次感谢。显然是想得太多了。。。