【问题标题】:Using MaxLength attribute to specify NVARCHAR(MAX)使用 MaxLength 属性指定 NVARCHAR(MAX)
【发布时间】:2020-05-21 17:22:55
【问题描述】:

使用代码优先数据注解,是否可以使用[MaxLength()]属性指定字符串列应该是NVARCHAR(MAX)

它似乎不支持这一点。

【问题讨论】:

    标签: c# entity-framework-6 ef-code-first razor-pages


    【解决方案1】:

    如果您根本不在您的属性上使用 [MaxLength()] 属性,我相信默认情况下它会创建一个作为 NVARCHAR(MAX) 的列

    【讨论】:

    • 我可以发誓我在某处读到它是 120 之类的东西。
    • 我想(只是想)不应用属性会导致底层数据库中可能的最大列大小是有道理的,因为实体类不“知道”任何关于底层实现 - MSSQL、MySQL、Oracle 等之间的最大可能字符串列大小可能不同
    • 看来这是真的。如果不需要NVARCHAR(MAX),最好确保为所有字符串列设置长度。
    【解决方案2】:

    试着写成这样 [MaxLength(-1)] ?,

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-02
      • 2021-05-29
      • 1970-01-01
      • 1970-01-01
      • 2021-03-08
      • 1970-01-01
      • 2011-05-21
      • 1970-01-01
      相关资源
      最近更新 更多