1/28/2008 2:12:36 PM

The most up-to-date version of this file is available online at the Microsoft Download Center.

The SQL Server documentation team welcomes your documentation feedback. We view and investigate all documentation issues but do not answer technical support questions here. For help with technical issues not related to documentation, see Getting Assistance with SQL Server Compact 3.5. If it is possible, submit feedback to us in English.

Contents

1.0 Introduction

Microsoft SQL Server Compact 3.5 SP1 is the service pack release for the SQL Server Compact 3.5. SQL Server Compact 3.5 SP1 releases with SQL Server 2008 and Visual Studio 2008 SP1.

Important:
All references to SQL Server 2008 and Visual Studio 2008 SP1 in this SQL Server Compact 3.5 documentation refer to a pre-release version of SQL Server 2008 and Visual Studio 2008 SP1.

1.1 New Features in SQL Server Compact 3.5 SP1 Beta

SQL Server Compact 3.5 SP1 Beta release for the ADO.NET Entity Framework Beta 3 provides support for the ADO.NET Entity Framework Beta 3 for the Windows Desktop platform.

The ADO.NET Entity Framework is designed to enable developers to create data access applications by programming against a conceptual application model instead of programming directly against a relational storage schema. The goal is to decrease the amount of code and maintenance required for data-oriented applications.

Entity Framework applications provide the following benefits:

  • Applications can work in terms of a more application-centric conceptual model, including types with inheritance, complex members, and relationships.
  • Applications are freed from hard-coded dependencies on a particular data engine or storage schema.
  • Mappings between the conceptual application model and the storage-specific schema can change without changing the application code.
  • Developers can work with a consistent application object model that can be mapped to various storage schemas, possibly implemented in various database management systems.
  • Multiple application models can be mapped to a single storage schema.
  • Language-Integrated Query (LINQ) support provides compile-time syntax validation for queries against a conceptual model.
  • The designer support for the ADO.NET Entity Framework Beta 3 in Visual Studio 2008 is provided by the ADO.NET Entity Framework Tools December 2007 Community Technology Preview (CTP). SQL Server Compact 3.5 SP1 Beta release for the ADO.NET Entity Framework Beta 3 supports the ADO.NET Entity Framework Tools December 2007 CTP.

[Top]

1.2 Obtaining SQL Server Compact 3.5 SP1 Beta Release for ADO.NET Entity Framework Beta 3

2.0 Installing and Uninstalling SQL Server Compact 3.5 SP1 Beta

This section contains installation-related information.

2.1 Installing and Uninstalling SQL Server Compact 3.5 SP1 Beta Runtime on Windows Desktop Computers

To install SQL Server Compact 3.5 SP1 Beta Release for ADO.NET Entity Framework Beta 3

  1. Install ADO.NET Entity Framework Beta 3 from Microsoft Download Center. You must ensure that the pre-requisites specified on the download page are installed before installing ADO.NET Entity Framework Beta 3.
  2. In Control Panel, double-click Add or Remove Programs. Uninstall SQL Server Compact 3.5 or SQL Server Compact 3.5 SP1 Beta.
  3. Install SQL Server Compact 3.5 SP1 Beta Release for the ADO.NET Entity Framework Beta 3 (SSCERuntime-ENU.msi) from the Microsoft Download Center. Note that administrator rights are required on a computer to install SQL Server Compact 3.5 SP1 Beta Release for ADO.NET Entity Framework Beta 3.

To install ADO.NET Entity Framework Tools December 07 Community Technology Preview (CTP)

  1. Install the ADO.NET Entity Framework Beta 3 and SQL Server Compact 3.5 SP1 Beta Release for the ADO.Net Entity Framework Beta 3 as specified above. Install ADO.NET Entity Framework Tools December 2007 CTP from the Microsoft Download Center. You must ensure that the pre-requisites specified on the download page are installed before installing ADO.NET Entity Framework Tools December 2007 CTP.
  2. Download and install the SQL Server Compact 3.5 SP1 Design Tools Beta (SSCEVSTools-ENU.exe). While running the SSCEVSTools-ENU.exe file, Microsoft.SqlServerCe.Client.dll is extracted to %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE folder. The SSCEVSTools-ENU.exe will create a backup of the existing DLL at the location %ProgramFiles%\Microsoft Visual Studio 9.0\Common7\IDE.

To Uninstall SQL Server Compact 3.5 SP1 Beta Release for ADO.NET Entity Framework Beta 3

  1. In Control Panel, double-click Add or Remove Programs.
  2. From the list of installed programs, select Microsoft SQL Server Compact 3.5 SP1 Beta.
  3. Click Remove.

If you want to install the SQL Server Compact 3.5 instead, download and install it from the Microsoft Download Center. Alternatively, you can install SSCERuntime-ENU.msi from the Visual Studio 2008 DVD/CD installation media from the WCU\SSCE folder.

To Uninstall SQL Server Compact 3.5 SP1 Design Tools Beta

  1. In Control Panel, double-click Add or Remove Programs.
  2. Start the command window by clicking on the Start menu, select Run from Start menu and type cmd in the Run window. In the command window navigate to the folder where SQL Server Compact 3.5 SP1 Design Tools Beta (SSCEVSTools-ENU.exe) file is located
  3. In the command window type: SSCEVSTools-ENU.exe uninstall

Alternatively, you can uninstall SQL Server Compact 3.5 Design Tool from the Add/remove Programs and re-install SQL Server Compact 3.5 Design Tools (SSCEVSTools-ENU.msi) from the Visual Studio 2008 DVD/CD installation media from the WCU\SSCE folder.

[Top]

3.0 Supported Operating Systems and Platforms

4.0 Known Issues

4.1 Runtime Issues

4.1.1 There is no support for server-generated keys and server-generated values.

When using the ADO.NET Entity Framework, an entity’s keys may be marked as server generated. This enables the database to generate a value for the key on insertion or entity creation. Additionally, zero or more properties of an entity may be marked as server-generated values. A SQL Server Compact database may generate default values for null-valued properties when an entity is created or updated. This might happen if a default value has been specified as part of the column definition.

This release of the SQL Server Compact does not support entities with server-generated keys or values when it is used with the ADO.NET Entity Framework, although the ADO.NET Entity Framework allows you to define entity types with server-generated keys or values in the conceptual schema definition language (CSDL) or store schema definition language (SSDL) files.

4.1.2 Paging queries do not support SKIP expressions.

LIMIT and TOP expressions are supported in paging queries. Paging queries are intended to support stateless paging (scrolling or windowing) through the results of a query. Paging queries in the ADO.NET Entity Framework can be specified by using the LINQ Skip and Take operators. For example:

LINQ:

customers.OrderBy(c => c.Name).Skip(10).Take(20) 

Paging queries can also be expressed by using the SKIP, LIMIT, and TOP constructs of Entity SQL. For example:

Entity SQL:

SELECT value c 
FROM NW.Customers AS c 
ORDER BY c.Name skip 10 limit 20; 

This release of SQL Server Compact does not support SKIP expressions in paging queries when it is used with the ADO.NET Entity Framework. On the other hand, the LIMIT and TOP expressions are supported.

4.1.3 Full outer joins are not supported.

Entity SQL supports multiple joins including inner joins, left outer joins, and full outer joins.

This release of SQL Server Compact does not support Entity SQL queries with full outer joins that use the ADO.NET Entity Framework. For example, the following query is not supported:

Entity SQL:

SELECT c.Name, c.Id, o.Id 
FROM NW.Customers AS c full 
OUTER JOIN NW.Orders AS o ON c.Id = o.CustomerId 

4.1.4 There is no support for COLLATE sub-clauses in the ORDER BY clause of an Entity SQL query.

Entity SQL enables a COLLATE sub-clause to be specified as part of each key in an ORDER BY clause. The COLLATE sub-clause is applicable only for string-valued expressions, and determines the comparison semantics to use for that expression.

This release of SQL Server Compact, when it is used with the ADO.NET Entity Framework, does not support the use of a COLLATE sub-clause in the ORDER BY clause of an Entity SQL query. For example, the following query is not supported:

Entity SQL:

SELECT value c 
FROM NW.Customers AS c 
ORDER BY c.Name COLLATE Traditional_Spanish_ci_ai 

4.1.5 Unlike SQL Server, SQL Server Compact does not support modulo operations (denoted by %) on real, float, money, and numeric data types.

In SQL Server Compact, the following queries cause an error message:

Entity SQL:

( CAST ( 1 AS Edm.Int16) % CAST ( 1 AS Edm.Decimal) ) 

Transact-SQL:

SELECT cast (1 as smallint) %cast (1 as decimal(28,4)) 

When you run such a query, the following error message will be displayed: "Modulo is not supported on real, float, money, and numeric data types. [ Data type = numeric ]"

4.1.6 DISTINCT in aggregates (max, min, sum, count) is not supported in the SQL Server Compact 3.5.

If you try to write Entity SQL and Transact-SQL queries that use DISTINCT in aggregates (max, min, sum, count), a "Not supported" exception will be thrown. The following example demonstrates an Entity SQL query that uses DISTINCT in aggregate count.

Entity SQL:

SELECT count(distinct [TaskId]) FROM ArubaContainer.TaskSet AS [Task]

4.1.7 There is no support for command time-outs.

The ADO.NET Entity Framework enables time-outs for commands to be specified by using the ObjectContext.QueryTimeout property or the EntityCommand.CommandTimeout property.

This release of SQL Server Compact does not support time-outs when it is used with the ADO.NET Entity Framework. In other words, the command time-out must not be set to a value other than zero. If a connection time-out property is set, a NotSupportedException(“CommandTimeout”) exception is thrown by the SQL Server Compact database.

4.1.8 SQL Server Compact 3.5 SP1 Beta release for the ADO.NET Entity Framework Beta 3 supports only Unicode strings.

The ADO.NET Entity Framework provides support for both Unicode and non-Unicode strings. This release of SQL Server Compact supports only Unicode strings. The literal <literal> of type 'String' is not supported by the current provider. The "near constant literal" exception is thrown by SQL Server Compact in non-Unicode strings.

4.2 Tools Issues

4.2.1 An incorrect SQL Server Compact invariant name in the connection string is written to the app.config file in Visual Studio 2008.

Using the ADO.NET Entity Framework Tools Data Source Wizard in Visual Studio 2008 to generate the metadata files for a SQL Server Compact database, results in the incorrect invariant name are written as part of the connection string to the app.config file. If you select the option to write the connection string to app.config file the connection string will have invariant name of Microsoft.SqlServerCe.Client.3.5 instead of the invariant name of System.Data.SqlServerCe.3.5. Because of this, the application will not run outside of the Visual Studio development environment.

To fix this issue, change the invariant name in the app.config file System.Data.SqlServerCe.3.5 manually.

4.2.2 The ADO.NET Entity Data Model (EDM) wizard in Visual Studio 2008 does not auto-generate default class names for SQL Server Compact entity mappings and models.

The default class names generated by the ADO.NET Entity Data Model wizard for SQL Server Compact are Entities and Model. The names for the entity mappings and models have to be manually updated to more specific names like NorthwindEntities and NorthwindModel.

4.2.3 Errors are thrown by the ADO.NET EDM wizard on generating a model for Northwind.sdf.

5.0 Additional Information

This section describes how to obtain assistance and provide feedback about SQL Server Compact 3.5.

5.1 Getting SQL Server Compact 3.5 Assistance

For more information, see the SQL Server Compact Forum and the SQL Server Compact 3.5 Team Blog.

Visit the SQL Server Compact Forum and the ADO.NET Forum for questions and discussions about the SQL Server Compact SP1 and ADO.NET Entity Framework. For articles and detailed information, see the SQL Server Compact Team B or the ADO.NET Team B.

For more information about the ADO.NET Entity Framework, see MSDN Online. The ADO.NET Entity Framework Samples can be found at on the CodePlex web site.

5.2 Providing Feedback on SQL Server Compact 3.5