List<MyModel1> myModel1 = new List<MyModel1>();
MyUserModel myUserModel = new MyUserModel();
List<MyModel2> myModel2 = new List<MyModel1>();
myModel1 = m_Service1.GetMyModelFields();
myUserModel = m_Service2.GetMyUserDetails();
myModel2 = (from myModel1Field in myModel1
select new MyModel2 { FieldCaption = myModel1Field.FieldAlias,
FieldValue = "" }).ToList<MyModel2>();
Текст myModel1Field.FieldAlias будет таким же, как значение одного из атрибутов Column одного из свойств в myUserModel.Поэтому я должен искать атрибут столбца (Name) в myUserModel, получить соответствующие значения свойств и назначить его для FieldValue.Если я не могу найти значение в myUserModel, я могу установить «FieldValue» как «NA»
Один из способов получить значение атрибута столбца (Name) для свойства, как показано ниже, когда я знаю имя свойства.
myUserModel.GetType().GetProperty("FirstName").GetCustomAttributes(typeof(System.Data.Linq.Mapping.ColumnAttribute), false).Cast<System.Data.Linq.Mapping.ColumnAttribute>().Single().Name
Но в моем случае имя свойства не будет известно.Я должен найти свойство на основе значения myModel1Field.FieldAlias.Как это сделать?Пожалуйста, предложите.
MyUserModel с одним из его свойств
public class MyUserModel {
[Column(Name = "first_name", DbType = "varchar")]
public string FirstName { get; set; }
}
Теперь, если myModel1Field.FieldAlias равен 'first_name', тогда я должен искать в MyUserModel свойство с атрибутом Column (Имя) как имяЕсли он существует, я должен установить его значение 'FieldValue'.В противном случае установите «FieldValue» как «NA».