Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
public class MyEntity : Entity
{
protected string GetAttributeName(string propertyName)
{
return this.GetType().GetProperties().FirstOrDefault(p => p.Name == propertyName).GetCustomAttribute<AttributeLogicalNameAttribute>().LogicalName;
}
protected T GetAttribute<T>([CallerMemberName]string propertyName = null)
{
return this.GetAttributeValue<T>(GetAttributeName(propertyName));
}
protected void SetAttribute(object value, [CallerMemberName]string propertyName = null)
{
this.SetAttributeValue(GetAttributeName(propertyName), value);
}
}
[EntityLogicalName("account")]
public class MyAccount : MyEntity
{
public MyAccount()
{
this.LogicalName = typeof(MyAccount).GetCustomAttribute<EntityLogicalNameAttribute>().LogicalName;
}
[AttributeLogicalName("odx_clientcode")]
public string ClientCode
{
get => GetAttribute<string>();
set => SetAttribute(value);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment