private IEnumerable <Property> GetProperties(ModelId modelId, IViewModel viewModel) { var properties = new List <Property>(); IEnumerable <MemberInfo> memberInfos = viewModel .GetType() .GetMembers() .Where(m => m.MemberType == MemberTypes.Property); foreach (MemberInfo memberInfo in memberInfos) { if (TryGetAttribute(memberInfo, out PropertyAttribute attribute)) { properties.Add(_entityBuilder.BuildProperty(modelId, attribute, memberInfo.Name)); } } return(properties); }