c# - LINQ:获取表详细信息

标签 c# .net linq linq-to-sql

我正在使用 LINQPad,我想知道表的架构详细信息。

我知道我是用 SQL 来做的:

SELECT column_name,* 
FROM information_schema.columns
WHERE table_name = '{table_name}'
ORDER BY ordinal_position

如何使用 LINQ 执行此操作?

最佳答案

LINQ to SQL 上下文有一个 Mapping 属性,您可以将其用于这类事情。与您提供的查询类似的查询可能如下所示:

from t in context.Mapping.GetTables()
where t.TableName == "[table_name]"
from c in t.RowType.DataMembers
orderby c.Ordinal
select new {columnName = c.Name, columnInfo = c}

参见 this answer了解更多详情。

关于c# - LINQ:获取表详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666775/

相关文章:

c# - 'Amazon.S3.AmazonS3Client' 的类型初始值设定项抛出异常

.net - 全局程序集缓存查看器工具(Viewer)

c# - 如何在两个 ienumerables 之间使用 Any

c# - LINQ 从表中选择,其中 fieldValue 在另一个表的值列表中

c# json 仅合并值(忽略缺失的字段)

c# - 如何在 C#.NET 中替换现有 XML 文件的内容?

c# - 父对象相同属性的自定义显示名称

.net - 是否需要安装 Access 本身以便我的 .NET 应用程序可以使用 Access 数据库?

c# - 启动和加载应用程序时显示等待光标

c# - 修剪列表的最佳方法是什么?