如何基于注释 [key] 标记从 ASP NET MVC 模型对象中标识主键参数

本文关键字:对象 模型 MVC 标识 参数 NET ASP 注释 何基于 key | 更新日期: 2023-09-27 17:55:35

给定此模型类

public class MyClass
{
    [Key]
    public uint MyObjectId { get; set; }
    public long Param1 { get; set; }
    public string Param2 { get; set; }
}

如何根据[Key]标注以编程方式识别主键参数?

在这种情况下,它将是MyObjectId

如何基于注释 [key] 标记从 ASP NET MVC 模型对象中标识主键参数

您可以使用反射。

public class MyClass
{
    [Key]
    public uint MyObjectId { get; set; }
    public long Param1 { get; set; }
    public string Param2 { get; set; }
}
void Main()
{
    var properties = typeof(MyClass).GetProperties()
      .Where(prop => prop.IsDefined(typeof(KeyAttribute), false));
}