0
点赞
收藏
分享

微信扫一扫

Orchard CMS中设置string字段为nvarchar(max)的方法

Java旺 2023-05-12 阅读 55


Orchard中设置字段为nvarchar(max),为了避免4000个字符的限制,需要在DB和NHibernate上都添加设置

  1. 在Model中将列定义为无限制。确保数据库中的列是nvarchar (max)或varchar (max)

在migration.cs文件中为属性添加Unlimited()

// Creating table KeynoteInformationRecord
SchemaBuilder.CreateTable("KeynoteInformationRecord", table => table
    .Column("Id", DbType.Int32, column => column.PrimaryKey().Identity())
    .Column("KeynotePartId", DbType.Int32)
    .Column("Title", DbType.String, column => column.Unlimited())
    .Column("Description", DbType.String, column => column.Unlimited())
    .Column("StartDate", DbType.DateTime)
    .Column("EndDate", DbType.DateTime)
    .Column("HasEvaluation", DbType.Boolean)
    .Column("IsDeleted", DbType.Boolean)
);

  1. 在Nhibernate端,为了确保字符串不被截断,您必须在模型类中的字符串属性中添加[ StringLengthMax ]属性,需要引用 Orchard.Data.Conventions

public class KeynoteInformationRecord
{
    public virtual int Id { get; set; }
    public virtual int KeynotePartId { get; set; }
    [StringLengthMax]
    public virtual string Title { get; set; }
    [StringLengthMax]
    public virtual string Description { get; set; }
    public virtual DateTime StartDate { get; set; }
    public virtual DateTime EndDate { get; set; }
    public virtual bool HasEvaluation { get; set; }
    public virtual bool IsDeleted { get; set; }
}

举报

相关推荐

0 条评论