我正在尝试读取Excel数据并将其批量上传到SQL数据库的各个表中。在我的Excel工作表中,工作表的名称表示需要在其中插入数据的数据库表名称。
因此,在下面的var "tablename"
中,代码由工作表名称组成,我需要在typeof(____)
中传递相应的表模型类,以获取表列名称,此后,表列名称来自模型的数据将与数据库表的列名进行比较,然后将执行批量上传操作。
所以任何人都可以帮助我将存储在tableName中的值作为类传递给:
typeof(_______).GetProperties().Select(p => p.Name);
代码:
var tableName = employeeData.TableName;
var sourceColumnList = typeof(ConsentReportSheetTableInfo).GetProperties().Select(p => p.Name);
答案 0 :(得分:2)
您可以尝试
var sourceColumnList = Type.GetType(employeeData.TableName).GetProperties().Select(p => p.Name);
答案 1 :(得分:1)
最简单的方法是使用Assembly.GetType(name)
。
因此,您可以使用类似的内容:
var assembly = Assembly.GetExecutingAssembly();
var type = assembly.GetType(tableName);
var properties = type.GetProperties().Select(p => p.Name);
(当然,这假定类型在执行的程序集中。)
您可以找到带有示例here的官方文档。