Vì vậy, tôi đang học F #, và nhìn này:Làm thế nào để F # Loại nhà cung cấp kiểm tra các loại tại thời gian biên dịch
F# type providers, how do they work
và điều này:
http://msdn.microsoft.com/en-us/library/hh361033(v=vs.110).aspx
Tôi không thông thạo F #, nhưng sự hiểu biết của tôi (có thể không hoàn chỉnh) là các Nhà cung cấp Loại có nghĩa là cung cấp cho bạn một số loại truy cập an toàn kiểu tĩnh đến các nguồn dữ liệu bên ngoài.
Tuy nhiên, làm cách nào để thực hiện việc này? Vì nguồn dữ liệu ở bên ngoài, có vẻ như (đối với tôi) không có cách nào kiểm tra lược đồ nguồn dữ liệu không truy vấn nó và truy vấn công cụ trong thời gian biên dịch (và để hoàn thành mã!) Có vẻ như là một ý tưởng tồi. Tuy nhiên, nếu họ không làm điều đó, phải có một số quá trình truyền diễn ra để truyền nguồn dữ liệu không xác định vào một số lược đồ (sau đó có thể kiểm tra kiểu) có khả năng thất bại nếu nguồn dữ liệu không thể được đúc.
Tôi tin bạn, nhưng vẫn thấy khó tin. Điều này có nghĩa là Visual Studio sẽ thực sự gửi các yêu cầu và truy vấn cơ sở dữ liệu http và tất cả những thứ này trong quá trình biên dịch (và hoàn thành mã) để thu được lược đồ? Tôi đã lập trình được một thời gian và tôi không nghĩ rằng tôi đã nhìn thấy loại điều này được thực hiện ở bất kỳ nơi nào khác; thông thường luôn có một diễn viên tiềm ẩn tại giao diện với kho dữ liệu bên ngoài.Có bất cứ nơi nào tôi có thể tìm kiếm khái niệm này cho trường hợp chung, không cụ thể cho F #? –
Xem khoảng 3 phút sau: http://channel9.msdn.com/events/BUILD/BUILD2011/SAC-904T bắt đầu lúc 25:30. Có, khi bạn nhấn '.' trong IDE, Visual Studio đang gửi các yêu cầu web để tìm nạp một phần khác của lược đồ để trình bày tự động hoàn thành Intellisense. Nó có thể là cuốn tiểu thuyết, và nó là khá tuyệt vời :) – Brian