繁体   English   中英

C#实体框架SQL错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM