[英]C# Entity Framework SQL Error
我有一个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; }
}
尝试访问模型时,我总是收到错误消息。 目前,我正在尝试运行以下命令:
var emailHistoryTotal = !emailHistory.Any() ? 1 : emailHistory.Count();
这总是给我错误:“ EntityFramework.dll,但未在用户代码中处理
附加信息:从字符串转换为uniqueidentifier时转换失败”
我不确定发生了什么变化,因为一切正常。.....
如果我在SQL中运行以下命令,则返回OK!?:SELECT * FROM [dbo]。[EmailHistory]
在SQL中,唯一设置为“唯一标识符”的列是Id,RulesId_Id和UserId。
emailHistory来自我的存储库(方法请参见下文)
public IQueryable<EmailHistory> GetEmailHistoryByUser(string userId)
{
return _autoSendContext.EmailHistory.AsQueryable();
}
_autoSendContext是与数据库交互的全局变量
任何帮助或指导都会很棒!
好的,这与电子邮件历史记录表无关。 该错误是由于数据迁移引起的,自动迁移试图将数据库中的字段从NVARCHAR更改为唯一标识符。
这是系统试图运行的语句:ALTER TABLE [dbo]。[事务] ALTER COLUMN [CompanyId] [uniqueidentifier] NULL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.