Tengo una base de datos SQL Compact Edition que actualizo periódicamente (a través de servicios web).Actualizar/Insertar en una tabla usando SQLCeResultSet
La parte donde escribo en la base de datos lleva demasiado tiempo. Actualmente lo estoy haciendo con Linq to Datasets (como se ve en this question). Tengo heard que si lo hago con SQLCeResultSet, funcionará más rápido.
Por lo tanto, dado que tengo una tabla como la siguiente:
tblClient +- CLIENT_ID {Unique identifier} (Primary Key) +- CLIENT_NAME {varchar (100)} +- CLIENT_ACTIVE {bit}
y lo tengo en el objeto que recibo de mis servicios web que tener este aspecto:
class Client
{
public Guid ClientID { get; set; }
public String ClientName { get; set; }
public bool Active { get; set; }
}
¿Cómo me obtener 100 objetos de cliente en la base de datos?
Actualización filas existentes y la inserción de filas que no se encuentren en la base de datos (determinado por la clave principal)?
Cualquier código de ejemplo sería genial. Tengo un SqlCeConnection
, pero nada más.
¡Gracias por cualquier ayuda!
Me he dado cuenta de que no hay ninguna llamada a Update. ¿Insertar hace una actualización si la fila ya existe? – Vaccano
ResultSetOptions se debe establecer en Actualizable. Según entiendo, Update() solo se aplica a los registros existentes, no a los insertos. –
Disculpa, esto fue solo para inserciones. Tendrá que modificar la lógica si quiere hacer reemplazos. Me gustaría hacer una búsqueda en el campo PK, luego hacer una lectura, si la lectura devuelve verdadero, luego modificar el registro y actualizar, de lo contrario, crear e insertar. – ctacke