检查模型中的特定属性是否已修改的最佳方法是什么?

问题描述 投票:0回答:1

我有以下型号:

[Key]
public Guid SessionId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
public string Address2 { get; set; }
public string PostalCode { get; set; }
public string City { get; set; }
public string State { get; set; }
public string Country { get; set; }
public string PhoneNumber { get; set; }
public string Email { get; set; }
public int Guests { get; set; }
public DateTime CheckInDate { get; set; }
public DateTime CheckOutDate { get; set; }
public Status BookingStatus { get; set; }
public string Notes { get; set; }
public DateTime CreatedDate { get; set; }

我将从此模型创建 DTO,但我仍然需要

SessionId
属性包含在其中一些 DTO 中。

我的问题是如何检查

SessionId
属性的状态以确保没有人试图篡改它?

我担心有人可能会中断发布请求并尝试专门修改

SessionId
并搞乱数据库的更新。

理想情况下,我想检查

SessionId
属性是否已被修改并完全中止更新。

entity-framework-core model dto
1个回答
0
投票

使用

IsModified
属性,您可以在调用
SaveChanges()
时知道该属性的值是否已被修改并应在数据库中更新。

这是代码:

var entry = dbContext.Entry(yourEntity);
if (entry.Property(e => e.YourProperty).IsModified)
{
    // YourProperty has been modified
    // Perform your desired actions here
}
© www.soinside.com 2019 - 2024. All rights reserved.