Je veux utiliser les codes ci-dessous. J'ai donc une liste générique < MyClass > Je pense que je devrais utiliser using System.Reflection; méthode pour obtenir la liste < MyClass > propriété pour remplir la chaîne [] columnNames, object [] columnValues mais comment puis-je l'utiliser?comment utiliser dynamic insert - linq to sql?
foreach (var item in List<myClass>)
{
// i want to fill get columnNames and values to fill below arrays how to?
}
public static class MyExtensionMethod
{
public static bool DynamicInsertCustomerExtension(this MyDataContext db, string[] columnNames, object[] columnValues)
{
try
{
if (columnNames.Length == 0 || columnValues.Length == 0)
{
throw new Exception("Column Name or Column Value array is empty!");
}
if (columnNames.Length != columnValues.Length)
{
throw new Exception("Column Name array and Column Value array are in different length!");
}
TBL_Customer entity = new TBL_Customer();
for (int i = 0; i < columnNames.Length; i++)
{
entity.GetType().GetProperty(columnNames[i]).SetValue(entity, columnValues[i], null);
}
db.TBL_Customers.InsertOnSubmit(entity);
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return false;
}
}
}