Tengo una aplicación de consola y lo que intento hacer es que cada vez que se ejecute la aplicación, la fecha y la hora se envíen a una tabla dentro de mi base de datos.Error 3002: problema en el mapeo de fragmentos | C# linq a entidades
La estructura de la tabla es de esta manera:
FTPRuns
ID int
Last Run datetime
lo suficientemente simple.
He actualizado el model.edmx dentro de mi aplicación también para reflejar este nuevo cambio. Sin embargo, ahora estoy obteniendo el siguiente error y no estoy del todo seguro de lo que significa.
Error 3002: Problema en mapeo fragmentos a partir de la línea 1330: Potencial violación de tiempo de ejecución de claves de FTPRuns de mesa (FTPRuns.ID): columnas (FTPRuns.ID) se asignan a las propiedades de EntitySet FTPRuns (FTPRuns.ID) en el lado conceptual pero no forman las propiedades de la clave de EntitySet (FTPRuns.ID, FTPRuns.LastRun).
Aquí es el fragmento de código que utilizo para actualizar la base de datos también:
using (ModelContainer ctn = new ModelContainer())
{
try
{
FTPRun ftp = new FTPRun
{
LastRun = DateTime.Now
};
ctn.FTPRuns.AddObject(ftp);
int changes = ctn.SaveChanges();
Console.WriteLine(changes.ToString() + " Changes saved");
Console.WriteLine("The LastRun Date Has Been Updated");
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.ToString());
}
}
Si alguien me puede ayudar estaría muy agradecido :)
gracias.
¿Qué tipo de base de datos está utilizando y cuáles son las claves principales en la tabla? –
Disculpas, estoy usando una base de datos de SQL Server, y he configurado la columna ID como la clave principal. – 109221793