1)如何構造一個通用連接字符串到數據庫?
沒有通用的方法來構造連接字符串。最好的辦法是將連接字符串保存在某個配置文件中,您可以根據您的配置(SQL Server計算機的名稱,身份驗證選項,無論是基於文件的數據庫還是普通的數據庫)來更改連接字符串。有一個web site with examples for most of the options。
2)我注意到它是IDisposable。因此,如果我有多個用戶點擊我的網站,我的代碼一次只能訪問一個實例的數據庫[...]?
不,這不是DataContext
的工作原理。 DataContext
不保留到服務器的實時連接,以阻止任何其他人使用SQL服務器。它保留了一些狀態(即已經獲得的緩存實體),它使用optimistic concurrency來確保狀態是一致的(如果這是你想要的,你可以使用事務來阻止其他連接)。
3)是否有可能以某種方式啓用F#中的LINQ -Interactive [...]?
這應該不成問題。您可以在F#interactive中使用#r "foo.dll"
來引用程序集。 F#2.0的典型方法是使用C#工具生成數據上下文,然後引用它(對於F#3.0,因爲您可以使用類型提供程序,因此更容易)。
如果您在C#中生成的LINQ to SQL數據上下文Northwind
,F#交互使用是這樣的:
#r @"<whatever_path>\Northwind.dll"
#r "System.Data.Linq.dll"
open Northwind
open Microsoft.FSharp.Linq
let connStr = @"Data Source=.\SQLEXPRESS;AttachDbFilename=<path>\NORTHWND.MDF;" +
@"Integrated Security=True;User Instance=True"
let operation() =
// Using 'use' to make sure it gets disposed at the end
use db = new NorthwindDataContext(connStr)
// do something with the database
謝謝你。這正是我所需要的:計算機和可以放入自定義配置文件的可讀內容之間的緩衝區。 – chris