我的ASP.NET MVC应用程序中有一个操作,用户应该能够为条目更新多个列。但出于安全原因,有一列不应更新。例如这个类:
public class
{
[Key]
public int Id {get;set;}
public int DataId {get;set;}
public int Value1 {get;set;}
// ...
public int ValueN {get;set;}
}
有3个动作:“创建”,“编辑”和“SetValues”。
对于“创建”和“编辑”操作,可以设置DataId
,但不能修改DataId
的“SetValues”操作,但所有其他值都不能修改。
当我设置MyDbContext.Entry(myClassInstance).State == EntityState.Modified;
时,它会将每列更新为上下文。
我现在正在做什么:我查询原始数据库条目,修改值然后保存更改。但我认为这应该是我之前不需要查询原始数据的方式。
我希望更新一些专栏。喜欢SQL
Update table
set value1=1, value2=2
where table.id = id
我只是向DB发送我想要更新的值。
如何阻止在此操作中更新DataId
?