如何更新包含一个用户输入和各种静态输入的表,例如today';s的日期输入日期列
本文关键字:输入 日期 例如 today 静态 更新 何更新 包含一 用户 | 更新日期: 2023-09-27 18:26:13
我有一个包含以下结构的表:
ID
Date (today's date/time)
Payment (user defined)
PreviousBal (referenced from another table prior to update)
LayawayID (link to above record)
我是Linq、实体框架和C#的新手。我通常会写一个SQL更新语句来轻松地一次性处理所有这些,但在我使用MVC的工作中,我只看到了如何基于所有字段作为用户输入来更新和添加到表中。
所以我的问题是,如何将数据库中的列设置为非用户定义的值?
此外,Linq和EF甚至可以处理从另一个表中提取值并将列值设置为结果吗?
更新为了澄清,这就是我迄今为止在应用程序中创建表的方式
[HttpPost]
public ActionResult CreateCustomer(Customers Customer)
{
if (ModelState.IsValid)
{
_db.Customers.Add(Customer);
_db.SaveChanges();
return RedirectToAction("Index");
}
return View(Customer);
}
在这种情况下,用户可以在customer表中添加主键以外的所有列。我感到困惑的是,我的表中有一些列需要设置为现有数据,而不是用户输入。
您可以轻松地将属性添加到正在使用的Customers
类的实例中
添加像今天这样的日期通常是在数据库级别上完成的
大多数数据库可以为列分配默认值(例如:mysql自动存储记录创建时间戳)
对于来自不同表的值,您必须在控制器中(在CreateCustomer
函数中)检索它们,并将它们添加到模型中
然而,如果您使用的是MVC框架,您会发现这通常不会以这种方式完成,相反,您只引用了要引用的模型的ID
您应该始终避免的一件事是在数据库中的不同表中重复相同的东西(比如您引用的任何东西的值)。