EntityFramework Model从String更改为byte []阻止启动MVC.NET应用

时间:2019-03-22 15:45:57

标签: c# asp.net-mvc entity-framework

我有一个从数据库自动生成的实体框架模型。 SessionValue列的数据库已更改为varbinary(max)。该模型使用如下所示:

public partial class Session
{
    public int SessionID { get; set; }
    public string SessionKey { get; set; }
    public string SessionValue { get; set; }
    public System.DateTime SessionExpiryDate { get; set; }
}

我手动在部分文件中将其更改为如下形式:

public partial class Session
{
    public int SessionID { get; set; }
    public string SessionKey { get; set; }
    public byte[] SessionValue { get; set; }
    public System.DateTime SessionExpiryDate { get; set; }
}

因此,基本上我将SessionValue从字符串更改为字节数组。现在,当我运行我的MVC.NET应用程序时,它无法启动,并显示以下错误:

HTTP错误403.14-禁止 Web服务器被配置为不列出此目录的内容。

如果我撤消更改,一切都会恢复。我该如何调试呢?它甚至没有在Global.asax中发生任何事件。感觉好像Entity Framework应该在后台自动执行某些工作-但这不是因为Model属性视图不允许我将其映射到Type字节[]。

请有人帮忙!

1 个答案:

答案 0 :(得分:0)

在这里找到答案: EntityFramework database first - type mapping - map binary(8) from SQL to int in C#

需要将Model属性的Type设置为Binary-我正在寻找byte []。那是正确的陷阱!进行此更改后,更新了模型,并且运行良好。终于!