我想要捕获需要添加到SQL表中的列名以插入数据。除LINQ中的关键字问题
Columnspresent
- 文件中的所有列( “节点”, “LOGTIME”, “理性”, “ID”, “评论”)名单
existingtablecolumnsPresent
- 在现有的表中的所有列的列表在SQL中(“节点”,“值”,“原因”,“ID”,“注释”,“日志时间”)
columnsNotPresent
- 需要添加到SQL表“价值”在输出,但没有得到)..
List<string> columnsPresent =
dt.Columns.Cast<DataColumn>()
.Select(a => a.ColumnName.ToLower())
.ToList();
List<string> existingtablecolumnsPresent =
existingtable.Columns.Cast<DataColumn>()
.Select(a => "[" + a.ColumnName.ToLower() + "]")
.ToList();
List<string> columnsNotPresent =
columnsPresent.OrderBy(t => t)
.Except(existingtablecolumnsPresent.OrderBy(t => t))
.ToList();
上述代码是不是givin g如果列顺序发生变化,请提供正确的结果。请告知。
阅读:HTTP ://stackoverflow.com/questions/16824749/using-linq-except-not-working-as-i-thought。 –
为什么不在'ToList()'之前使用'OrderBy'? – schlonzo