LINQ:GetTableColumnNameUsingLINQ,如何获取一个表的列名?C#3.0、3.5Framework我假设您的意思是使用LINQtoSQL,在这种情况下请查看DataContext.Mapping属性。这是我用的。如果您不是那个意思,也许您可??以详细说明您要实现的目标?也许现在为时已晚,但我通过这段代码解决了它vardb=newDataContex();varcolumnNames=db.Mapping.MappingSource.GetModel(typeof(DataContex)).GetMetaType(typeof(_tablename))。数据成员;下面的代码将返回表的所有列名varcolumnnames=fromtintypeof(table_name).GetProperties()selectt.Name回答。这就是我想出的。只需将其放入C#表达式模式下的LINQPad即可。从tintypeof(UserQuery).GetProperties()wheret.Name=="Customers"fromcint.GetValue(this,null).GetType().GetGenericArguments()[0].GetFields()选择c.Name根据需要修改。我在LinqPad中使用此代码从tintypeof(table_name).GetFields()在数据上下文中使用ExecuteQuery方法选择t.Name并执行此SQL脚本:varcolumnNames=ctx.ExecuteQuery("SELECTnameFROMsys.columnsWHEREobject_id=OBJECT_ID('你的表名');");这将为您提供一个IEnumerable,其中包含您指定的表中的所有列名。当然,如果需要,您始终可以从SQLServer的sys.columns目录视图中检索更多信息(例如数据类型、最大长度)。使用反射迭代L2S类的属性如果您正在谈论获取映射表的列,请参阅此答案以了解如何获取列属性。从那里您可以获得列名、类型等。varquery=fromxinDataBase.Table_Nameselectx.Column_Name;sp_help'TableName'LinqPadSQL窗口到mssql服务器选项在LinqPad中:TableNames.Take(1)有效。打字速度很快。(在理想情况下,最好不要选择任何行。)请注意,它是TableName的复数形式。您还可以执行Take(0)并查看“SQL结果”选项卡。以上就是C#学习教程:LINQ:获取列名分享的所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击右侧联系管理员删除。如需转载请注明出处:
