SQL CE 3.5 no funciona con ASP.NET, debe usar 4.0 CTP.
Descargar desde aquí .
Instale el tiempo de ejecución.
Copie los siguientes contenidos del directorio (incluidas las carpetas x86 y amd64) en la carpeta bin de su aplicación ASP.NET:C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private
ACTUALIZACIÓN:use System.Data.SqlServerCe.dll de la carpeta Escritorio para evitar problemas de confianza media
myapp\bin\
System.Data.SqlServerCe.dll
myapp\bin\x86
sqlceca40.dll
sqlcecompact40.dll
sqlceer40EN.dll
sqlceme40.dll
sqlceqp40.dll
sqlcese40.dll
myapp\bin\amd64
sqlceca40.dll
sqlcecompact40.dll
sqlceer40EN.dll
sqlceme40.dll
sqlceqp40.dll
sqlcese40.dll
Agregue una referencia al archivo System.Data.SqlServerCe.dll que acaba de colocar en su carpeta /bin.
Coloque el archivo sdf de SQL Compact en su carpeta App_Data.
Agregar cadena de conexión:
<connectionStrings>
<add name ="NorthWind"
connectionString="data source=|DataDirectory|\Nw40.sdf" />
</connectionStrings>
¡Conectar! :-)
using System.Data.SqlServerCe;
protected void Page_Load(object sender, EventArgs e)
{
using (SqlCeConnection conn = new SqlCeConnection())
{
conn.ConnectionString = ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
conn.Open();
using (SqlCeCommand cmd = new SqlCeCommand("SELECT TOP (1) [Category Name] FROM Categories", conn))
{
string valueFromDb = (string)cmd.ExecuteScalar();
Response.Write(string.Format("{0} Time {1}", valueFromDb, DateTime.Now.ToLongTimeString()));
}
}
}