No quiero que mi ModifeidDateTime actual sea tiempo de máquina ya desde el servidor. Cada vez que deseo actualizar o agregar una persona a mi base de datos en SQL Server 2008, deseo completar ModifiedDateTime archivado. No es como si pudiera cambiar la consulta de actualización como con el comando del adaptador de datos cuando trabajo con el conjunto de datos y para definir para mi ModifiedDateTime archivado para ser = GetDate(). Creé la función almacenada para volver a enviarme un valor del método GetDate(), pero tengo un problema para importar el procedimiento que devuelve valores como int, cadena ... o ningún valor en absoluto, ya solo valores de entidades como Person por ejemplo en mi caso . ¿Porqué es eso? De todos modos, sería de gran ayuda si puede proporcionarme cualquier solución que funcione para recuperar el valor de DateTime del servidor.¿Cómo preguntar al servidor de bases de datos por datetime actual usando entity framework?
Respuesta
¿Hay alguna razón por la que no puede presionarlo para bajarlo a su base de datos? Si incluye DateTime.Now en la consulta de su entidad, lo empujará hacia abajo (getdate) a la base de datos.
Ejemplo LINQ a las entidades
var dQuery = dbContext.CreateQuery<DateTime>("CurrentDateTime() ");
DateTime dbDate = dQuery.AsEnumerable().First();
SQL generado ..
SELECT GetDate() AS [C1] FROM (SELECT cast(1 as bit) AS X) AS [SingleRowTable1]
podría ser una mejor manera de hacerlo?
Esto funciona bien. Descubrí estas funciones canónicas de fecha y hora, pero no sabía cómo usarlas desde código subyacente. Vi que se pueden usar en CSDL. Gracias. – Levelbit
Actualización: ya no tiene acceso directo al método CreateQuery, necesita lanzarlo primero, así: var query = ((IObjectContextAdapter) dbContext) .ObjectContext.CreateQuery
En VS 2008, si agrega una plantilla de función para devolver un escalar, no agrega el código para que sea fácil de usar. Necesita acceder directamente a la plantilla de funciones: utilizo la clase parcial para crear los métodos necesarios para facilitar su uso. Lo arreglaron en VS2010.
public DateTime GetDateTime()
{
var returnValue = new DateTime();
using (var connection = new EntityConnection(Connection.ConnectionString))
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandText = "myStoredProc";
command.CommandType = CommandType.StoredProcedure;
try
{
returnValue = Convert.ToDateTime(command.ExecuteScalar());
}
finally
{
connection.Close();
}
}
}
return returnValue;
}
Más información: Function Imports in Entity Model with a non-Entity Return Type
Ésta es una actualización de la respuesta a @Nix EF4:
var dateQuery = dbContext.Database.SqlQuery<DateTime>("SELECT getdate()");
DateTime serverDate = dateQuery.AsEnumerable().First();
- 1. Entity Framework y bases de datos multilingües
- 2. Bases de datos compatibles con Entity Framework
- 3. Asociar tablas de diferentes bases de datos - Entity Framework
- 4. Migraciones de bases de datos para Entity Framework 4
- 5. Primer uso de bases de datos en Entity Framework
- 6. Hacer un palmo Entity Framework Modelo múltiples bases de datos
- 7. ADO.Net Entity Framework en múltiples bases de datos
- 8. ¿Entity Framework usa la agrupación de conexiones de bases de datos? y es por defecto?
- 9. ¿Cómo puedo encontrar cuántas llamadas de bases de datos está haciendo Entity Framework por solicitud entrante?
- 10. Columna Entity Framework DateTime - GetDate() valor Inserción
- 11. Entity Framework pierde Sql DateTime precisión
- 12. Uso de dos bases de datos diferentes al mismo tiempo con Entity Framework
- 13. Entity Framework Insertar datos iniciales al reconstruir
- 14. Entity Framework 4: Acceda al contexto de datos actual en la clase parcial de entidad
- 15. Entity Framework 4.1Código Primero conectándose al servidor SQL 2005
- 16. Entity Framework a múltiples bases de datos (mismo esquema) en tiempo de ejecución?
- 17. Zend Framework bases de datos múltiples
- 18. Alias de bases de datos vinculadas al servidor SQL
- 19. Entity Framework. Grupo SQL por al grupo EF Por
- 20. Sincronizar registros usando Entity Framework
- 21. Base de datos de Mock Entity Framework
- 22. El uso de Entity Framework para copiar bases de datos de entidades entre
- 23. Cómo enlazar gridview usando linq/Entity Framework?
- 24. de paginación en Entity Framework
- 25. ¿Por qué debería preocuparme por Entity Framework?
- 26. Entity Framework: Ignorar columnas
- 27. Cómo crear Entity Framework ObjectContext?
- 28. Código de Entity Framework Primer error "Error al localizar el servidor/instancia especificada"
- 29. Actualización de datos utilizando Entity Framework
- 30. Manejo de las migraciones de bases de datos cuando se utiliza Entity Framework
¿Qué versión de Studio .NET y Visual está usando? – bryanjonker