2011-10-19 43 views
16

Làm cách nào để bạn tạo nhà cung cấp loại LINQ-TO-SQL, tạo hoặc/và tạo lại các lớp học?Nhà cung cấp loại: Cách tạo lại?

Tôi vừa thêm bảng mới vào cơ sở dữ liệu của mình và nhà cung cấp loại không thể hiểu được điều đó. Tôi đã cố gắng để xóa các dòng với các nhà cung cấp loại, và gõ nó một lần nữa - không may mắn. Tôi cũng đã cố gắng để xây dựng lại .. vẫn không có may mắn.

Edit:

tôi đã xác định nhà cung cấp loại như:

[<Generate>] 
type dbSchema = SqlDataConnection<"conString"> 

và sử dụng nó như:

let ctx = dbSchema.GetDataContext()

+0

Vui lòng cung cấp một số mã – Ankur

+0

@Ankur, Đã cập nhật. – ebb

Trả lời

19

Bạn nói đúng - điều này dường như khá phức tạp. Tôi đang sử dụng nhà cung cấp loại SqlDataConnection trong tệp tập lệnh và cách duy nhất để cập nhật lược đồ mà tôi đã tìm thấy cho đến nay là thực hiện một số thay đổi nhỏ (không có liên quan) trong chuỗi kết nối. Ví dụ, thêm không gian sau khi = của một trong những thông số:

[<Generate>] 
type Northwind = TypeProviders.SqlDataConnection 
    <"data source=.\\sqlexpress;initial catalog=Northwind;integrated security=True"> 

[<Generate>] 
type Northwind = TypeProviders.SqlDataConnection 
    <"data source=.\\sqlexpress;initial catalog=Northwind;integrated security= True"> 

//                  ^here 

Giản đồ dường như được lưu trữ sử dụng chuỗi kết nối như chìa khóa, vì vậy nếu bạn thay đổi nó trở lại, bạn sẽ có được sơ đồ cũ một lần nữa. Tôi đoán đây có lẽ là một lỗi, do đó, thêm khoảng trắng là giải pháp có thể có.

Ngoài ra còn có thông số ForceUpdate, nhưng điều đó dường như không có bất kỳ ảnh hưởng nào và the documentation không nói nhiều về điều đó.

+8

"Thay đổi không liên quan đến chuỗi" thực sự là một cách làm việc để buộc cập nhật; chúng tôi biết về các vấn đề về API/khả năng sử dụng tại đây và chúng tôi sẽ có điều gì đó tốt hơn cho bản Beta cuối cùng. – Brian

+13

bất kỳ tin tức nào về điều này? đã được> 4 năm và tôi đang thực hiện các thay đổi không liên quan đến chuỗi kết nối khi tôi cần cập nhật và mong muốn tôi không phải thực hiện. – Maslow

+0

Câu hỏi nhỏ: điều gì sẽ xảy ra khi nhà cung cấp loại đang cố gắng truy cập vào tài nguyên không có sẵn tại thời gian biên dịch (internet xuống hoặc từ xa lưu trữ, v.v ...)? – TesX

Các vấn đề liên quan