Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >为什么当数据类型要小得多时,实体框架尝试创建大于8060字节的行?

为什么当数据类型要小得多时,实体框架尝试创建大于8060字节的行?
EN

Stack Overflow用户
提问于 2017-04-04 06:15:00
回答 3查看 400关注 0票数 1

我试图通过代码优先的方法在实体框架6中创建一个数据库。我知道错误:

索引'PK_surveyor.CONDITIONS‘行长度超过最大允许长度'8060’字节。无法创建约束或索引。请参阅先前的错误。

类条件的定义如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Table("surveyor.CONDITIONS")]
public partial class CONDITION : ISurveyComponent
{
    [Key]
    [Column(Order = 0)]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public long ID { get; set; }

    [Column(Order = 1, TypeName = "char")]
    public string NAME { get; set; }

    [Column(Order = 2)]
    [DataType(DataType.DateTime)]
    public DateTime LASTUPDATED { get; set; }

    [Column(Order = 3)]
    public int ENABLED { get; set; }

    public enum ActionTypes { JumpOnPass = 0, SetFromResponse = 1, SetResponse = 2 };

    [Column(Order = 4)]
    public int ACTIONTYPE { get; set; }

    [NotMapped]
    public ActionTypes Action
            {
            get
                {
                return (ActionTypes)ACTIONTYPE;
                }
            }

    public enum TestTypes { AlwaysFail=0, AlwaysPass=1,PassIfEqual=11,PassIfNotEqual=12
            ,PassIfLessThan=13,PassIfLessThanOrEqual=14,PassIfGreaterThan=15,PassIfGreaterThanOrEqual=16
            ,PassIfEmpty=20,PassIfDisabled=30};
    [Column(Order = 5)]
    public int TESTTYPE { get; set; }

    [NotMapped]
    public TestTypes Test
            {
            get
                {
                return (TestTypes)TESTTYPE;
                }
            }

    public enum LeftOperandTypes {None=-1, Response=0, Comment=1, Step=2, Club=3, Province=4, ClubPrize=5};

    public int? LEFTTYPE { get; set; }

    [NotMapped]
    public LeftOperandTypes LeftOperandType
        {
            get
            {
            if(LEFTTYPE.HasValue)
                return (LeftOperandTypes)LEFTTYPE;
            return LeftOperandTypes.None;
            }
        }

    public enum RightOperandTypes {None=-1, Response=0, AbsoluteValue=1};

    public int? RIGHTTYPE { get; set; }

    [NotMapped]
    public RightOperandTypes RightOperandType
        {
            get
            {
                if(RIGHTTYPE.HasValue)
                    return (RightOperandTypes)RIGHTTYPE;
                return RightOperandTypes.None;
            }
        }

    public long? PARAMID1 { get; set; }

    public long? PARAMID2 { get; set; }

    public long? PARAMID3 { get; set; }

    public long? PARAMID4 { get; set; }

    public int? PARAMINT1 { get; set; }

    public int? PARAMINT2 { get; set; }

    public int? PARAMINT3 { get; set; }
}

这将产生一个大约592字节+头长的表行。我可以看到null处理添加了几个字节,但是为什么EF试图创建大于8060字节的行呢?

另外,我得到的例外要求我“查看以前的错误”。对在哪里看到这些有什么想法吗?在例外情况下,与它们没有任何联系。

EN

回答 3

Stack Overflow用户

发布于 2017-04-04 06:26:35

检查您的insert (HttpPost)逻辑,该错误是,而不是与整个行大小相关的,而是单字段大小。一列可容纳的最大数据大小为8000字节。尝试查看试图插入超过此数字的一个或多个字段的任何尝试插入。例如,超过8000个字符的Varchar字符串或Nvarchar字符串有超过4000个字符。

您还可以检查previous错误消息,它通常显示在第一个错误消息的下面。

票数 0
EN

Stack Overflow用户

发布于 2017-04-17 07:09:37

答案是,Typename = "char“正在使EF陷入混乱,并导致错误。错误信息是假的。

票数 0
EN

Stack Overflow用户

发布于 2020-11-12 03:41:40

我刚刚收到了同样的错误信息。在我的示例中,连接字符串的名称已在应用程序配置文件中更改,但没有以DbContext构造函数的名称(参数nameOrConnectionString)更改,因此EF试图使用不存在的连接字符串。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43209798

复制
相关文章
SQL server 2005安装问题
每次在台式机上安装SQL server 2005,遇到过需要修改注册表的错误,修改了就好了。
Tony老师
2020/03/05
1K0
SQL server 2005安装问题
Sql Server 2005 CLR实例
本文转载:http://www.cnblogs.com/yongfa365/archive/2010/04/26/SQL-Server-CLR.html
跟着阿笨一起玩NET
2018/09/18
6680
T-SQL Enhancement in SQL Server 2005[下篇]
在第一部分中,我们讨论了APPLY和CTE这两个T-SQL Enhancement。APPLY实现了Table和TVF的Join,CTE通过创建“临时的View”的方式使问题化繁为简。现在我们接着来讨论另外两个重要的T-SQL Enhancement Items:PIVOT和Ranking。  三、 PIVOT Operator PIVOT的中文意思是“在枢轴上转动”,比如对于一个2维坐标,将横坐标变成纵坐标,将纵坐标变成横坐标。反映在一个Relational Table上的意思就是:变成为列,变列为行。
蒋金楠
2018/02/07
1.5K0
T-SQL Enhancement in SQL Server 2005[下篇]
T-SQL Enhancement in SQL Server 2005[上篇]
较之前一版本,SQL Server 2005可以说是作出了根本性的革新。对于一般的编程人员来说,最具吸引力的一大特性就是实现了对CLR的寄宿,使我们可以使用任意一种.NET Programming Language来编写Stored Procedure、Function、Trigger、User Defined Type等等。但是并不意味着我们使用多年的T-SQL即将被淘汰,而事实上T-SQL仍然是我们最为常见的基于Database的编程语言。为了使编程人员更容易地使用T-SQL来实现一些较为复杂的功能,S
蒋金楠
2018/02/07
1.8K0
T-SQL Enhancement in SQL Server 2005[上篇]
SQL Server 2005的负载均衡
SQL Server 2005仍然不直接地支持负载均衡——但是它为以前SQL Server版本中可用的所有负载均衡方法提供了令人激动的改善和支持。   目录 1、端到端拓扑的事务性复制 2、表分割 3、备份和重新存储上的改善(片段式重新存储) 4、数据库镜像和快照 端到端拓扑的事务性复制 SQL Server 2005对端到端(P2P)的拓扑结构上的事务性的复制加强了支持。 SQL Server 2000支持双向的复制,这就可以让两台服务器同时对彼此发布和订阅数据。服务器可以更新同一个共享数据,但是在这样的
张善友
2018/01/29
1K0
sql server 2005卸载教程_sql卸载工具
如果您要安装新版的sql就必须先完整的卸载sql2005,如果你按照常规的方法是不能完整的卸载sql2005,从而会引起安装的时候说sql已经挂起的错误,sql2005卸载工具(sql server 2005卸载工具),是一个帮你完整的清理已经安装的sql的工具。
全栈程序员站长
2022/09/29
1.4K0
SQL Server 2005 安装图解教程(Windows)
因工作需要,好久未安装SQL Server2005,今天安装了一下,特此写下安装步骤留下笔记。
全栈程序员站长
2022/09/06
4.4K0
SQL Server 2005 安装图解教程(Windows)
Sql server 2005带来的分页便利
select threadid from  ( select threadid, ROW_NUMBER() OVER (order by stickydate) as Pos from cs_threads ) as T  where T.Pos > 100000 and T.Pos < 100030
Java架构师必看
2021/03/22
3810
3-1 SQL Server 2005的
所谓事务是用户定义的一个数据库操作序列,这些操作要么全做要么全不做,是一个不可分割的工作单位。SQL Server 2005 提供了几种自动的可以通过编程来完成的机制,包括事务日志、SQL事务控制语句,以及事务处理运行过程中通过锁定保证数据完整性的机制。当用户对数据库并发访问时,为了确保事务完整性和数据库一致性,需要使用锁定。事务和锁是两个紧密联系的概念。通过事务的批处理和锁的使用,还可以监测系统,以及优化物理数据库。
py3study
2020/01/09
7210
SQL server 2005 切换分区表
如转载,请注明出处:http://blog.csdn.net/robinson_0612/archive/2009/11/10/4794371.aspx
Leshami
2018/08/07
7020
3-3 SQL Server 2005数
一个数据库系统的性能依赖于组成这些系统的数据库中物理设计结构的有效配置。这些物理设计结构包括索引、聚集索引、索引视图和分区等,其目的在于提高数据库的性能和可管理性。SQL Server 2005提供了一套综合的工具,用于优化物理数据库的设计,其中数据库引擎优化顾问,是分析一个或多个数据库上工作负荷(对要做出优化的数据库而编写的一组T-SQL语名句)的性能效果的工具。本节主要介绍数据库引擎优化顾问的使用。
py3study
2020/01/07
5890
微软推出SQL Server 2005 Report Packs
微软推出八个SQL Server 2005 报表类型,包括了: SQL Server 2005 Report Pack for SQL Server Integration Services Download this set of five predefined reports and a sample database to easily visualize, filter, analyze, and organize Log and Error row data generated by SQL S
张善友
2018/01/29
6260
SQL Server 2005 同义词Bug
今天发现了SQL2005的一个Bug,在建立同义词链接Oracle的时候,使用下面的语句:
深蓝studyzy
2022/06/15
2740
SQL Server 2005单元级加密和SQL Server 2008 透明数据加密
SQL Server 2005 引入了在自身的数据库引擎中加密的功能。通过使用被数据库所管理的内部证书或密钥结构,这能够被用于加密和解密任意的数据。而不需要借助外部的证书或密钥来执行。 SQL Se
张善友
2018/01/31
1.3K0
SQL Server 2005单元级加密和SQL Server 2008 透明数据加密
配置SQL Server 2005 Express的Windows和SQL Server身份验证
如何安装SQL Server 2005 Express、SQL Server Management Studio Express,以及配置SQL Server 2005 Express的身份验证方式,启用sa登录名。
阳光岛主
2019/02/19
1.9K0
SQL Server2005中的SMO编程
SMO是SQL Mangagement Objects的简称.与之相对应的是ADO.Net,不过不同的地方是ADO.Net是用于数据访问的,而SMO是用于设计的,虽然SMO能够再服务器上执行任意的SQL语句.另外一个不同的地方是ADO.Net可以访问计算机中任意数据源,而SMO对象是专门针对SQL Server而设计的.
深蓝studyzy
2022/06/15
1K0
Sql Server 2005 ROW_NUMBER 函数实现分页
过去用SQL Server 2000分页的,大多都用到了临时表。SQL Server 2005 ROW_NUMBER 函数支持分页,性能据说也非常不错。 Paging Records Using SQL Server 2005 Database Paging in SQL Server 2005 Sql Server 2005自定义分页 最近MSDN Magazine上的一篇文章10 Tips for Writing High-Performance Web Applications提到了有效的数据分页技
张善友
2018/01/19
1K0
SQL Server2005的连接和配置(入门)
 如果服务器和客户端是同一台机器,那么可以使用ShareMemory进行连接,这种方式不需要通过网络,所以速度应该是最快的。使用方法就是在SQL Server Mangage Studio中的登录-选项-“连接属性”中选择该网络协议就是了。
深蓝studyzy
2022/06/15
1.2K0
SQL Server2005 新数据类型XML
 在SQL Server2005中继续延续了微软在.Net中的设计思想 将XML和.Net紧密地结合到其中.用.Net在Sql2005中写存储过程定义函数我还没有研究过,今天就只简单得谈谈XML在SQL2005中的应用.
深蓝studyzy
2022/06/15
4980
SQL server 2005 PIVOT运算符的使用
        PIVOT,UNPIVOT运算符是SQL server 2005支持的新功能之一,主要用来实现行到列的转换。本文主要介绍PIVOT运算符的操作,以及如何实现动态PIVOT的行列转换。
Leshami
2018/08/07
1.6K0

相似问题

SQL Server (2005)查询帮助

11

SQL Server 2005查询帮助

42

TSql (sql Server2005)查询运行缓慢

10

帮助Delphi和Sql Server 2005

14

SQL Server 2005透视查询帮助

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文