Error SQL del marco de la entidad de C#
Frecuentes
Visto 367 equipos
0
Tengo un EmailHistoryModel:
public class EmailHistory
{
public Guid Id { get; set; }
public string CompanyId { get; set; }
public Guid? UserId { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime SentDate { get; set; }
public DateTime UpdateDate { get; set; }
public string OutCome { get; set; }
public DateTime EmailDeliveredDate { get; set; }
public DateTime EmailOpened { get; set; }
public string EmailAddress { get; set; }
public string HtmlEmail { get; set; }
public string IntegrationDocumentId { get; set; }
public Rules RulesId { get; set; }
public int TransactionId { get; set; }
}
Sigo recibiendo un error al intentar acceder a mi modelo. En este momento estoy tratando de ejecutar lo siguiente:
var emailHistoryTotal = !emailHistory.Any() ? 1 : emailHistory.Count();
Esto sigue dándome el error: "EntityFramework.dll pero no se manejó en el código de usuario
Información adicional: la conversión falló al convertir una cadena de caracteres a un identificador único"
No estoy seguro de qué ha cambiado, ya que todo funcionaba bien...
Si ejecuto lo siguiente en SQL, ¿devuelve bien?: SELECT * FROM [dbo].[EmailHistory]
En SQL, las únicas columnas establecidas en Identificador único son Id, RulesId_Id y UserId.
El historial de correo electrónico proviene de mi repositorio (consulte a continuación el método)
public IQueryable<EmailHistory> GetEmailHistoryByUser(string userId)
{
return _autoSendContext.EmailHistory.AsQueryable();
}
el _autoSendContext es una variable global para interactuar con la base de datos
¡Cualquier ayuda u orientación sería genial!
1 Respuestas
0
Ok... no tenía nada que ver con la tabla de historial de correo electrónico. El error se debió a las migraciones de datos, la migración automática intentaba cambiar un campo en la base de datos de un NVARCHAR a un identificador único.
Esta fue la declaración que el sistema estaba tratando de ejecutar: ALTER TABLE [dbo]. [Transacciones] ALTER COLUMN [CompanyId] [uniqueidentifier] NULL
Respondido 07 Oct 14, 19:10
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# asp.net-mvc entity-framework or haz tu propia pregunta.
Select * From X
no es lo mismo que tu!emailHistory.Any() ...
¿Qué estás tratando de lograr? - Marco¿Dónde estás poblando realmente el modelo? - markpsmith
Qué es exactamente
emailHistory
? - juharrcon solo sumar 1 y 1 emailHistoryTotal debe ser un valor numérico mayor a 1. - Marco
Debe publicar el código real que llama al marco de la entidad. - daveBM