SqlEntityConnection Type Provider (F#)
Provides the types to access a database, using a LINQ to Entities mapping. This type provider is useful when you are using the ADO.NET Entity Model for a database.
Namespace/Module Path: Microsoft.FSharp.Data.TypeProviders
Assembly: FSharp.Data.TypeProviders (in FSharp.Data.TypeProviders.dll)
type SqlEntityConnection<?ConnectionString : string,
?ConnectionStringName : string
?LocalSchemaFile : string,
?Provider : string,
?EntityContainer : string,
?ConfigFile : string,
?DataDirectory : string,
?ResolutionFolder : string,
?ForceUpdate : bool,
?Pluralize : bool,
?SuppressForeignKeyProperties : bool>
Static Type Parameters
Type Parameter |
Description |
---|---|
?ConnectionString : string |
The connection string for the database connection. |
?ConnectionStringName : string |
The name of the connection string for the database connection in the configuration file. |
?LocalSchemaFile : string |
The path to a .csdl file that contains the schema. This parameter is often used with ForceUpdate set to true. |
?Provider : string |
The name of the ADO.NET data provider to be used. The default is System.Data.SqlClient. |
?EntityContainer : string |
The name to use for the generated type that represents the container for the entities, also known as the data context. The default value is EntityContainer. |
?ConfigFile : string |
The name of the configuration file that’s used for connection strings. The default value is app.config or web.config. |
?DataDirectory : string |
The name of the data directory that replaces |DataDirectory| in connection strings. The default value is the project or script directory. |
?Resolution Folder : string |
A folder to be used to resolve relative file paths at compile time. The default value is the folder that contains the project or script. |
?ForceUpdate : bool |
Determines whether the type provider updates the generated types to reflect changes in the database schema. When ForceUpdate is false, the provider reacts to changes in the LocalSchemaFile. The default value is true. |
?Pluralize : bool |
If true, uses plural forms for the generated type names. The default value is false. |
?SuppressForeignKeyProperties : bool |
Exclude foreign key properties in entity type definitions. The default value is false. |
Remarks
For a walkthrough that shows how to use this type provider, see Walkthrough: Accessing a SQL Database by Using Type Providers and Entities (F#).
The Entity Data Model Framework is a library for the .NET Framework that allows you to define a database schema largely independent of a specific data source (such as a SQL database). For more information, see ADO.NET Entity Framework and Entity Framework Overview. Database schemas that are represented by the Entity Data Model are encoded in a specific XML format in files with the .edmx extension.
The following table describes types generated by the SqlEntityConnection type provider for a declaration of the form:
type MyDb = SqlEntityConnection<parameters>
In the following table, EntityContainer is the single type generated by edmgen.exe, which has base type ObjectContext. This is the value of the static parameter EntityContainer, if it is given. Otherwise, it is the name chosen by edmgen.exe.
Type |
Description |
---|---|
MyDb |
The overall container type. Contains a method GetDataContext that returns a simplified view of the data context. The method returns a new instance of MyDB.ServiceTypes.SimpleDataContextTypes.EntityContainer. The version with the connectionString parameter may be used when the connection string is determined at runtime. |
MyDb.ServiceTypes |
Contains the embedded full types and simplified types for the database. |
MyDb.ServiceTypes.* |
The embedded types generated by EdmGen.exe. |
MyDb.ServiceTypes.EntityContainer |
The data context type, inherited from ObjectContext. |
MyDb.ServiceTypes.SimpleDataContextTypes.EntityContainer |
Contains one method for each method of the full context type, including stored procedures and functions. The methods return ISingleResult<T>. Contains one property for each property of the full context type. The properties return Table<TEntity>. The property Connection gets the database connection as an instance of DbConnection. The property DataContext gets the full data context, of type ObjectContext. This is the base type of the EntityContainer type generated by the type provider. |
The Entity Data Model connection string that you specify at runtime when you call GetDataContext resembles the following:
metadata=res://*/entityNamespaceName.csdl|res://*/entityNamespaceName.ssdl|res://*/entityNamespaceName.msl;provider=provider;provider connection string="connectionString"
For more information about connection strings for the Entity Data Model, see Connection Strings
Platforms
Windows 8, Windows 7, Windows Server 2008 R2
Version Information
F# Core Library Versions
Supported in: 4.0
See Also
Tasks
Walkthrough: Accessing a SQL Database by Using Type Providers and Entities (F#)
Reference
Microsoft.FSharp.Data.TypeProviders Namespace (F#)