SqlDataConnection 型別提供者 (F#)
提供型別存取SQL資料庫。
Namespace/Module Path: Microsoft.FSharp.Data.TypeProviders
Assembly: FSharp.Data.TypeProviders (在 FSharp.Data.TypeProviders.dll)
type SqlDataConnection<?ConnectionString : string,
?ConnectionStringName : string,
?LocalSchemaFile : string,
?ForceUpdate : bool,
?Pluralize : bool,
?Views : bool,
?Functions : bool,
?ConfigFile : string,
?DataDirectory : string,
?ResolutionFolder : string,
?StoredProcedures : bool,
?Timeout : int,
?ContextTypeName : string,
?Serializable : bool>
靜態型別參數
輸入參數。 |
描述 |
---|---|
ConnectionString:字串 |
資料庫連接的連接字串。 如果您使用Visual Studio中,連接字串可以在[伺服器總管]視窗的資料庫屬性中找到。 |
ConnectionStringName:字串 |
連接字串的名稱資料庫連接的組態檔。 |
? LocalSchemaFile:字串 |
包含結構描述的.dbml檔案的路徑。 預設值為沒有區域結構描述檔。 這個選項最常搭配 ForceUpdate。 |
? ForceUpdate:bool |
必須與資料庫的直接連接只能在設計階段並強制區域結構描述檔重新整理。 預設值為 true。 當 ForceUpdate 為false時,提供者會反應在 LocalSchemaFile的變更。 |
? Pluralize:bool |
如果為true,則使用複數格式為產生的型別名稱。 產生的複數格式以英文語言規則。 預設值為 false。 |
? 檢視:bool |
如果為true,會公開在產生型別的資料庫檢視。 預設值為 true。 |
? 函式:bool |
如果為true,會公開在產生的型別的資料庫功能。 預設值為 true。 |
? ConfigFile:字串 |
此連接使用組態檔名稱的字串。 預設值為app.config或web.config。 |
? DataDirectory:字串 |
資料目錄的名稱,用來取代|DataDirectory|在連接字串。 預設值為專案或指令碼目錄。 |
? ResolutionFolder:字串 |
資料夾會使用的已解析相對檔案路徑在編譯時期。 預設值為包含專案或指令碼的資料夾。 |
? StoredProcedures |
若為true,則產生的型別公開預存程序。 預設值為 true。 |
? 逾時:int |
逾時時間,以秒為單位, SQLMetal.exe來使用時連接至資料庫。 預設值為零,表示不會逾時。 |
? ContextTypeName:字串 |
您可以使用存取所有產生的型別容器型別的名稱。 |
? 可序列化:bool |
如果為true,則產生的型別是可序列化的。 預設值為 false。 |
備註
如需示範如何使用這個型別的提供者,請參閱 逐步解說:使用型別提供者存取 SQL 資料庫 (F#)的逐步解說。
會使用SqlDataConnection型別提供者,就會使用SQL資料庫的直接連接和要產生表示資料庫中的資料型別。 在開發期間,如果您不想要使用資料庫的實際連接,您可以使用 DbmlFile 型別提供者 (F#)。
簡單呼叫所產生的最上層型別為型別提供者包含巢狀型別呼叫 ServiceTypes,下從資料庫結構描述產生的類別型別是否存在。 最上層型別包含這個方法不會採用任何參數的 GetDataContext,取得連接字串做為參數的另一個兩個多載。 SqlMetal.exe可用,完整檢視產生的兩個資料內容和移除公用程式方法,但資料欄位的保留屬性的一個簡單的檢視。 這個最上層GetDataContext取得型別的一個簡單的檢視。 GetDataContext 方法傳回 DataContext從衍生的型別,因此,這個靜態型別參數將 ContextTypeNameSQLMetal.exe或依賴此型別的名稱,如果未提供這個靜態參數。 除了基底類別方法之外,資料內容型別資料庫所包含資料表。
下表摘要說明這個型別所提供的型別包含為形式的運算式:
type MyDb = SqlDataConnection<connectionString>
在下表中, DataContextTypeName 為資料內容型別名稱的替代符號(Placeholder)的提供者,和*表示命名空間內的所有型別。
型別 |
描述 |
---|---|
MyDb |
整個容器型別。 傳回包含資料內容的簡化檢視的方法 GetDataContext 。 這個方法會傳回MyDB.ServiceTypes.SimpleDataContextTypes新執行個體。DataContextTypeName。 具有connectionString參數的版本,當連接字串是在執行階段時,就會使用。 |
MyDb.ServiceTypes |
包含內嵌完整型別和簡化的型別資料庫的。 |
MyDb.ServiceTypes.* |
SqlMetal.exe產生的內嵌型別。 |
MyDb.ServiceTypes.DataContextTypeName |
資料內容型別,繼承自 DataContext。 |
MyDb.ServiceTypes.SimpleDataContextTypes. DataContextTypeName |
如果這些的選取選項,包含每個方法的一種方法在完整的內容類型,包括預存程序和函式。 方法會傳回 ISingleResult<T>。 包含完整內容類型的每個屬性(Attribute)的屬性(Property)。 屬性會傳回 Table<TEntity>。 屬性 Connection 取得資料庫連接 DbConnection做為執行個體。 屬性DataContext取得完整的資料內容,型別 DataContext。 這是這個型別所產生的 DataContextTypeName 型別的基底型別的提供者。 |
警告
重新執行唯讀作業的效能注意事項。 ,將 DataContext 物件的 ObjectTrackingEnabled 屬性為false。
平台
Windows 8, Windows 7, Windows Server 2008 R2
版本資訊
F# 核心程式庫版本
支援版本:4.0