я пытаюсь вставить загрузку данных в таблицу с linq
данные поступают в nameValueCollection с ключом в качестве имени столбца и значением в качестве значения для вставки
Мне нужно преобразовать все значения в их правильный тип данных, но я не могу придумать хороший способ сделать это, а затем вставить
я могу перебирать столбцы в таблице LINQ
TransactionDataContext db = new TransactionDataContext();
var columns = db.Mapping.MappingSource
.GetModel(typeof(TransactionDataContext))
.GetMetaType(typeof(Transaction))
.DataMembers;
Type t;
string typeName, colName;
Transaction trans = new Transaction();
for(int i = 0;i<columns.Count();i++)
{
if(columns[i].Name.In(nvcRequest.Keys)){
colName = columnNames[i].Name;
t = columnNames[i].Type;
typeName = t.Name.ToString().ToLower();
switch(typeName){
case "int":
//convert value to int and add it into the new transaction
//but i cant do t[columns[i]] = newly typed value unfortunately.. - what can i do?
break;
case "datetime":
//convert to datetime and add into the appropriate field in the new transaction
break;
}
}
и т.д ..
...
..
db.SubmitChanges ();
Функция In:
public static bool In(this object o, IEnumerable c){
foreach(object i in c){
if(i.Equals(o))
return true;
}
return false;
}
есть идеи?
Может быть, я должен просто создать строковый запрос сам?
я надеюсь, что нет: (
любая помощь высоко ценится
физ