using System.ComponentModel.DataAnnotations; namespace Sockeye.Models { //this is a hiearchical object so saving as a JSON fragment still best option public class DataListColumnView { public long Id { get; set; } public uint Concurrency { get; set; } [Required] public long UserId { get; set; }//only relevant if non-public for fetching either in list or single (public true OR userid matches) [Required, MaxLength(255)] public string ListKey { get; set; }//max 255 characters ascii set public string Columns { get; set; }//JSON serialized Column array: columns:["PartInventoryTransactionEntryDate","PartName","PartWarehouseName","PartInventoryTransactionQuantity","PartInventoryTransactionDescription","PartInventoryTransactionSource","PartInventoryBalance"] public string Sort { get; set; }//JSON serialized SortBy Dictionary: sortBy:[{"PartInventoryTransactionEntryDate":"-"}],//All sorted columns here as keyvalue pairs value is a string of "+" for ascending "-" for descending and are IN ORDER of how to be sorted // } }