我创建了一个访问[INFORMATION_SCHEMA].[TABLES]视图的UDF :
CREATE FUNCTION [dbo].[CountTables]
(
    @name sysname
)
RETURNS INT
AS
BEGIN
    RETURN
    (
        SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
    );
END
在Visual Studio中,视图的模式和名称都标有警告:
SQL71502:函数:[dbo].[CountTables]有一个未解析的对象[INFORMATION_SCHEMA]的引用.[TABLES].
我仍然可以毫无问题地发布数据库项目,并且UDF似乎确实正确运行.IntelliSense为我填充了视图的名称,因此它似乎没有问题.
我也尝试将实现更改为使用sys.objects而不是使用此视图,但我也对此视图给出了相同的警告.
我该如何解决此警告?
我在Visual Studio中有一个MS DataBase项目 - 在进行模式比较后,我正在尝试生成一个部署脚本,问题是我得到了数百个未解决的引用错误,例如以下两个:
Error   385 TSD03006: View: [auditing].[AuditedEntities] has an unresolved reference to object [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].  D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql   4   14  greatProject.Database
Error   387 TSD03006: View: [auditing].[AuditedEntities] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[C]::[CONSTRAINT_NAME], [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[CONSTRAINT_NAME] or [INFORMATION_SCHEMA].[TABLE_CONSTRAINTS].[C]::[CONSTRAINT_NAME].  D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql   5   69  greatProject.Database
SPROCS在运行时从不会出现问题.是否有一种快速而肮脏的方法来解决这个问题?也许甚至可能通过关闭参照完整性检查?