Я могу получить список столбцов из таблицы, используя LINQ следующим образом:
OrderDataContext ctx = new OrderDataContext();
var cols = ctx.Mapping.MappingSource
.GetModel( typeof( OrderDataContext ) )
.GetMetaType( typeof( ProductInformation ) )
.DataMembers;
Это дает мне список столбцов, поэтому я могу сделать это:
foreach ( var col in cols )
{
// Get the value of this column from another table
GetPositionForThisField( col.Name );
}
Так что все это работает, я могу перебирать список столбцов и извлекать значения для этих столбцов из другой таблицы (так как имена столбцов являются ключами в этой другой таблице), поэтому мне не нужно переключаться .. ..или много если ... тогда ...
Теперь вопрос:
После того, как я получу эти значения, как мне заполнить сущность, чтобы сохранить ее обратно? Я бы обычно так и делал:
ProductInformation info = new ProductInformation();
info.SomeField1 = val1;
info.SomeField2 = val2;
ctx.ProductInformation.InsertOnSubmit( info );
ctx.SubmitChanges();
Но как использовать тот же набор столбцов сверху, чтобы заполнить столбцы, итерируя по этому, когда нет такой вещи как:
info["field1"].Value = val1;
Спасибо.