类型或命名空间定义,或预期的文件结尾:在我的数据项目中 - 存储过程

Type or namespace definition, or end-of-file expected : in my Data Project - stored procedure

我正在更新我的 VS 2015,ASP.NET MVC 项目以拥有一个包含我所有数据的数据项目models/tables、存储过程等

当我构建(或重建)时,我在这个项目中有 1755 个错误,都是指我认为 "class problems" 的问题。但是,这些错误出现在我的存储过程文件中 (.sql)。我如何让 VS 意识到这些是 .sql 文件而不应该被视为 类?

我的一些错误:

我已尝试更新“属性”->“构建操作以进行编译”(如某些网站上所建议的那样),但这并没有解决问题。

此外,该项目似乎对我有问题,包括声明中的架构,又名:

CREATE PROCEDURE [SCHEMA].[SPROC NAME] ... 

它要我只使用存储过程名称。这也适用于我的 table declaration/create table 陈述。它在以下方面出错(斜体):

CREATE TABLE [SCHEMA].[TABLE NAME]
...

ALTER TABLE [SCHEMA].[TABLE NAME] WITH CHECK 
    ADD CONSTRAINT [FOREIGN KEY] 
        FOREIGN KEY ([FIELD NAME]) REFERENCES [SCHEMA].[FOREIGN TABLE NAME]([ID])

更新 --- 对于那些感兴趣的人 --- 和新问题

为了创建我的存储过程,在我的解决方案资源管理器中,我右键单击我的架构,将鼠标悬停在添加上并选择 "Stored Procedure...",然后 copied/pasted 我的存储过程从我的工作 SSMS数据库。当我探索我的新数据项目时,我发现 "SQL Server Object Explorer" 并发现我的存储过程 none 列在这个数据库项目下。我浏览并重新添加了所有存储过程,方法是导航到我的数据库项目 -> 可编程性 -> 存储过程,右键单击 -> 添加新存储过程。我删除了所有初始存储过程,这消除了所有奇怪的错误。

以这种方式创建存储过程时,文件自动填充

CREATE PROCEDURE [SCHEMA].[SPROC NAME]

如果我使用包含的 [SCHEMA] 构建,我会收到错误

SQL71501: Procedure: [SCHEMA].[SPROC NAME] has an unresolved reference to Schema [SCHEMA]

我的 table(和外键)也发生了同样的事情。

如果我从所有 [SPROC NAME]、[TABLE NAME] 等开头删除 [SCHEMA],错误就会消失,但是在查看 SQL 服务器时对象资源管理器、我所有的 table、存储过程等都在架构 dbo 中。

如何让代码理解所有元素都在指定的模式中而不会出错?

1) 对于架构 - 您是否将 "Create Schema" 代码作为单独的文件?如果没有,将其添加进去,看看这是否会使 VS 的关系更明显 2) 通常,Build Action 将设置为 "Build" 3) 我从未见过你描述的构建问题......你是否确定在需要的地方添加 "GO" 以便你有有效的 SQL?如果您发布了 VS 认为导致错误的文件之一的内容,可能会有所帮助。