I have EF model class. for that I created MetadataType
for that partial class.
Now I need to read or get all of these displayname of the properties of the object from c#. So I can use the in Excel Header row.
[MetadataType(typeof(vwGridMetadata))]
public partial class vwGrid
{
}
public class vwGridMetadata
{
[Display(Name = "Note ID")]
public int intNoteID { get; set; }
[Display(Name = "Global Number")]
public string strGlobalLoanNumber { get; set; }
[Display(Name = "Data Source ID")]
public Nullable<int> intDataSourceID { get; set; }
[Display(Name = "Sample ID")]
....
}
vwGrid grd = new vwGrid;
Here I want get all properties displayname in iteration. So I can add them to excel Header row and cells. How to do that?
Reflection
and LINQ
is your friend
typeof(vwGridMetadata)
.GetProperties()
.Select(x => x.GetCustomAttribute<DisplayAttribute>())
.Where(x => x != null)
.Select(x => x.Name);
Note: You need to include System.Reflection
and System.Linq
namespaces to your project in order to use these methods.
ASP.Net Core 2 :
var listOfFieldNames = typeof(vwGridMetadata)
.GetProperties()
.Select(f => f.GetCustomAttribute<DisplayAttribute>())
.Where(x => x != null)
.Select(x=>x.Name)
.ToList();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With