类型或命名空间定义,或预期的文件结尾:在我的数据项目中 - 存储过程
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
文件而不应该被视为 类?
我的一些错误:
- CS1022 C# 类型或命名空间定义,或预期的文件结尾
- CS0246 C# 找不到类型或命名空间名称 'BEGIN'(是否缺少 using 指令或程序集引用?)-如 BEGIN 我的 SQL 语句
- CS0103 C# 当前上下文中不存在名称“@Name”。 -如参数名
- CS1003 C# 语法错误,预期为“,”-此错误位于注释掉的行的中间
我已尝试更新“属性”->“构建操作以进行编译”(如某些网站上所建议的那样),但这并没有解决问题。
此外,该项目似乎对我有问题,包括声明中的架构,又名:
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 认为导致错误的文件之一的内容,可能会有所帮助。
我正在更新我的 VS 2015,ASP.NET MVC 项目以拥有一个包含我所有数据的数据项目models/tables、存储过程等
当我构建(或重建)时,我在这个项目中有 1755 个错误,都是指我认为 "class problems" 的问题。但是,这些错误出现在我的存储过程文件中 (.sql
)。我如何让 VS 意识到这些是 .sql
文件而不应该被视为 类?
我的一些错误:
- CS1022 C# 类型或命名空间定义,或预期的文件结尾
- CS0246 C# 找不到类型或命名空间名称 'BEGIN'(是否缺少 using 指令或程序集引用?)-如 BEGIN 我的 SQL 语句
- CS0103 C# 当前上下文中不存在名称“@Name”。 -如参数名
- CS1003 C# 语法错误,预期为“,”-此错误位于注释掉的行的中间
我已尝试更新“属性”->“构建操作以进行编译”(如某些网站上所建议的那样),但这并没有解决问题。
此外,该项目似乎对我有问题,包括声明中的架构,又名:
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 认为导致错误的文件之一的内容,可能会有所帮助。