Я хочу обновить базу данных на основе входного файла Excel. Имена листов файла соответствуют именам таблиц в БД. Каждая таблица БД содержит разные столбцы, но в соответствующем порядке со столбцами Excel. Есть ли способ динамически выбрать таблицу, в которую нужно добавить новую сущность?
Код, который у меня есть для динамического создания сущности (непроверенный, поэтому я надеюсь):
int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;
for (int r = 7; r < rowCount; r++)
{
var obj = Activator.CreateInstance(Type.GetType("DataGrabber." + xlWorksheet.Name.Remove(xlWorksheet.Name.Length - 1)));
Type type = obj.GetType();
IList<PropertyInfo> properties = new List<PropertyInfo>(type.GetProperties());
int c = 1;
foreach (PropertyInfo property in properties)
{
try
{
property.SetValue(obj, (int)xlRange.Cells[r, c].Value2());
} catch
{
property.SetValue(obj, (decimal)xlRange.Cells[r, c].Value2());
}
c++;
}
context.[dynamic table name].AddOrUpdate(obj); ///// This is my DbContext, how to select the right table based on the type of ob
}