Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.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
Linq 检查表是否存在于数据库中,但不存在于模型中_Linq_Asp.net Mvc 2_Ado.net - Fatal编程技术网

Linq 检查表是否存在于数据库中,但不存在于模型中

Linq 检查表是否存在于数据库中,但不存在于模型中,linq,asp.net-mvc-2,ado.net,Linq,Asp.net Mvc 2,Ado.net,我正在Asp.NETMVC项目中使用实体数据模型框架。我需要检查表是否存在于数据库中,但不存在于模型中。有谁能帮我检查一下控制器级别的测试目的。您没有提到您正在使用的数据库,但我假设它是SQL Server 以下是如何获得表列表: USE YourDBName GO SELECT * FROM sys.Tables 可以使用Ado.Net运行查询,也可以将表添加到实体数据模型中 更新 这里有一些其他的方法。您可能需要调整它们以适应您的需要 [dbo].[sysobjects]为数据库中创建的

我正在Asp.NETMVC项目中使用实体数据模型框架。我需要检查表是否存在于数据库中,但不存在于模型中。有谁能帮我检查一下控制器级别的测试目的。

您没有提到您正在使用的数据库,但我假设它是SQL Server

以下是如何获得表列表:

USE YourDBName
GO 
SELECT *
FROM sys.Tables
可以使用Ado.Net运行查询,也可以将表添加到实体数据模型中

更新

这里有一些其他的方法。您可能需要调整它们以适应您的需要

[dbo].[sysobjects]为数据库中创建的每个对象(如约束、表、视图、存储过程、函数等)包含一行。要确定对象的类型,您将查询包含对象类型的[xtype]列。对于用户表,[xtype]值为“U”,表示用户表

SELECT [Name] FROM [dbo].[sysobjects]
WHERE [xtype] = 'U'
第二种方法是查询[Information_Schema].[Tables]系统视图。[Information_Schema].[Tables]系统视图包含当前数据库中当前用户具有权限的每个表的一行。此viw基于[dbo].[sysobjects]系统表。[Information_Schema].[Tables]系统视图也将包括列表中的视图。要仅过滤出用户表,您将只输出那些[Table_Type]为“BASE Table”的记录,如以下查询所示:

SELECT * FROM [Information_Schema].[Tables]
WHERE [Table_Type] = 'BASE TABLE'
EXEC sp_tables @table_type = "'TABLE'"
在数据库中列出用户表的第三种方法是使用sp_tables系统存储过程。sp_tables系统存储过程返回可以出现在FROM子句中的对象列表。由于您只关心用户表,而不关心系统表或视图,因此必须将@table_type参数设置为“'table'”,如下查询所示:

SELECT * FROM [Information_Schema].[Tables]
WHERE [Table_Type] = 'BASE TABLE'
EXEC sp_tables @table_type = "'TABLE'"

隐马尔可夫模型。。从您提到的查询中,我们将获得所有表的列表,但是,我只需要获得数据库中而不是模型中的表的列表。我为您更新了答案。如果需要进一步说明,请再次评论。可以或如何在my views.py中导入该表