Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Entity Framework 6获取数据库中表字段的描述?_C#_Asp.net Mvc 4_Entity Framework 6 - Fatal编程技术网

C# 如何使用Entity Framework 6获取数据库中表字段的描述?

C# 如何使用Entity Framework 6获取数据库中表字段的描述?,c#,asp.net-mvc-4,entity-framework-6,C#,Asp.net Mvc 4,Entity Framework 6,如何获取:数据类型、长度(如果为null),表中列的主键 Users id primary key email varchar(100) not null active Boolean EF对此不提供任何支持-您需要使用常规的原始SQL语句来查询SQL Server系统目录视图 SELECT TableName = t.Name, ColumnName = c.Name, c.is_nullable, TypeName = ty.name, c.max

如何获取:数据类型、长度(如果为null),表中列的主键

Users id primary key
email varchar(100) not null
active Boolean

EF对此不提供任何支持-您需要使用常规的原始SQL语句来查询SQL Server系统目录视图

SELECT 
    TableName = t.Name,
    ColumnName = c.Name,
    c.is_nullable,
    TypeName = ty.name,
    c.max_length,
    PKName = i.name,
    PKColumn = pkc.name
FROM 
    sys.tables t
INNER JOIN 
    sys.columns c ON c.object_id = t.object_id
INNER JOIN 
    sys.types ty ON ty.system_type_id = c.system_type_id
LEFT OUTER JOIN 
    sys.indexes i ON i.object_id = t.object_id AND i.is_primary_key = 1
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.index_id = i.index_id AND ic.object_id = t.object_id
LEFT OUTER JOIN 
    sys.columns pkc ON pkc.column_id = ic.column_id AND pkc.object_id = i.object_id

我必须使用吗?ctx.Database.EXECUTESQLCOMAND()@iverGonzalezvidal:要么就是这样,要么使用一个“经典”的ADO.NET连接与
SqlConnection
SqlCommand
来处理这个问题,我非常感谢