tôi đã tạo ra một UDF mà truy cập vào [INFORMATION_SCHEMA].[TABLES]
xem:.tham khảo chưa được giải quyết phản đối [INFORMATION_SCHEMA] [BẢNG]
CREATE FUNCTION [dbo].[CountTables]
(
@name sysname
)
RETURNS INT
AS
BEGIN
RETURN
(
SELECT COUNT(*) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = @name
);
END
Trong Visual Studio, lược đồ và tên cho quan điểm đều được đánh dấu bằng một cảnh báo :
SQL71502: Hàm: [dbo]. [CountTables] có tham chiếu chưa được giải quyết đối tượng [INFORMATION_SCHEMA]. [TABLES].
Tôi vẫn có thể xuất bản dự án cơ sở dữ liệu mà không gặp bất kỳ sự cố nào và UDF dường như chạy đúng cách. IntelliSense điền tên của khung nhìn cho tôi, vì vậy nó dường như không có vấn đề gì với nó.
Tôi cũng đã thử thay đổi triển khai để sử dụng sys.objects
thay vì chế độ xem này, nhưng tôi cũng đã đưa ra cảnh báo tương tự cho chế độ xem này.
Tôi làm cách nào để giải quyết cảnh báo này?
Và chỉ là cảnh báo - nếu có ai đó cài đặt SSDT theo một đường dẫn khác, bạn _might_ gặp sự cố. Chúng tôi chạy vào đó trong dự án cuối cùng của chúng tôi, nơi một số đã có một E: lái xe và những người khác chỉ là một ổ C :. Chúng tôi đã sao chép tệp tham chiếu đó ra và đặt nó vào một vị trí được chia sẻ để chúng tôi có thể tham khảo nó qua.\ SharedSchemas \ master.dacpac. Điều đó có thể được giải quyết ngay bây giờ, nhưng là một vấn đề trong bản phát hành đầu tiên. –
Peter Schott có một điểm ở đây. Nó thường là một ý tưởng tốt để sao chép các tập tin dacpac tham chiếu một nơi nào đó bên trong giải pháp và sử dụng từ đó. –
Đối với tôi nó nói "Một tham chiếu đến cơ sở dữ liệu hệ thống này đã tồn tại trong dự án của bạn." Tôi bị kẹt ngay bây giờ! – orad