场景:在线预订系统
假设我们有一个在线预订系统,其中包含数据库中的客户列表,客户模型如下所示:
public class Customer
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime Birthdate { get; set; }
public string drivingLicence { get; set; }
}
我们希望执行某些操作,例如:
为此目的使用Id属性是否合适?或者首选为'CustomerReferenceNo'
等每个对象创建一个新属性,并使用Id仅查询数据库,将Id属性保留在视图之外。
例:
到目前为止,我只使用Id属性查询数据库,如下所示:
public ActionResult Edit(int id)
{
// gets the customer details by accessing it's id
var customerInDb = _context.Customers.SingleOrDefault(c => c.Id == id);
但是想知道这样使用它是否普遍常见:
注意'Id'是指客户ID属性,用于向特定酒店预订特定客户。
它仅对用户ID更好,仅用于数据库目的。我们不能依赖用户ID。此用户ID在不同环境中可能不同。
例如
客户'Xyz'存储在具有标识1的开发环境数据库中。相同的客户'Xyz'存储在具有标识11的测试环境数据库中。同一客户'Xyz'存储在具有标识21的实时环境数据库中。
最好使用在所有环境中都是唯一的客户参考号。希望这可以帮助!