sql-server - 如何检查表是否存在于模型中但不存在于数据库中

标签 sql-server asp.net-mvc linq-to-sql asp.net-mvc-2

我有一个从数据库中提取的模型。后来,我从数据库中删除了该表,但没有更新模型。现在,我应该执行一个测试来测试该表是否存在于模型中但不存在于数据库中。谁能告诉我如何使用代码检查这一点?

最佳答案

您可以连接到数据库并获取 information_schema.Tables 表,然后检查您期望拥有的所有表是否都在其中。

获取 Linq-to-Sql DataContext 使用的所有表:

var dataContext = new DataContext();
var dataContextTableNames = (from tables in dataContext.Mapping.GetTables()
                             select tables.TableName).ToList();

然后使用您选择的 SQL 方法,在数据库上运行“SELECT [TABLE_NAME] FROM [Information_Schema].[Tables]”,并将其与 DataContext 中的数据进行比较。

关于sql-server - 如何检查表是否存在于模型中但不存在于数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4520209/

相关文章:

sql-server - 迁移后 SQL Server Reporting Services 非常慢

sql - 将 SELECT 转换为更新语句

c# - Entity Framework 查询多对多关系

c# - LINQ: 'Select c' 和 'Select new (c...' 之间的区别

asp.net - Linq to SQL - 跨回发保留 DataContext?

c# - 如何在 Linq 查询中包含 OrderBy

asp.net-mvc - MVC4 : User. IsInRole 无法正常工作

c# - Entity Framework 5 - 0..1 到多关系无法保存新实体

json - 依赖于文件的 .net 核心 asp.net 单元测试 - appsettings.json - 在 travis 中失败

c# - 为什么我不能使用 .Any()?