2009-04-15 41 views

Trả lời

16
DataContext.DatabaseExists() 

hoặc

DataContext.Connection.Open() 
+1

Tôi phải thừa nhận, tôi không thấy mối quan hệ giữa câu hỏi và cơ sở dữ liệu hiện có; cũng suy luận ... gỡ lỗi tâm linh ;-p –

2

gì kịch bản cụ thể được bạn cố gắng để bảo vệ chống lại?

Một DataContext là không giống như một DataSet - nó không phải là (nhất thiết) một chứa dữ liệu (quản lý danh tính/thay đổi theo dõi qua một bên) - đó là một nguồn dữ liệu.

Nói chung, nó sẽ không cung cấp cho bạn một đối tượng (từ truy vấn) nếu xảy ra lỗi - nó sẽ ném một ngoại lệ. Vì vậy, nếu bạn đã được đưa ra một thể hiện bởi LINQ-to-SQL, nó cần phải có một cái gì đó trong đó.

Bạn có thấy vấn đề cụ thể mà bạn muốn tránh không?

+0

Tôi muốn tránh một ngoại lệ. :) –

+0

@Alexander - Kiểm tra sự tồn tại hoặc kết nối mở chỉ giúp nếu cơ sở dữ liệu không khả dụng khi bạn bắt đầu sử dụng ngữ cảnh. Nó sẽ không giúp đỡ nếu các máy chủ DB đi xuống trong khi bạn đang sử dụng bối cảnh. Tôi sợ rằng bạn sẽ phải sống với khả năng ngoại lệ. – tvanfosson

+0

@tvanfosson: Tôi hiểu rồi. Cảm ơn! –