美文网首页菜鸟学编程
Orchard CMS中设置string字段为nvarchar(

Orchard CMS中设置string字段为nvarchar(

作者: 菜鸟飞不动 | 来源:发表于2019-02-14 12:01 被阅读0次

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; }
    }
    

相关文章

网友评论

    本文标题:Orchard CMS中设置string字段为nvarchar(

    本文链接:https://www.haomeiwen.com/subject/ovteeqtx.html