Orchard中设置字段为nvarchar(max),为了避免4000个字符的限制,需要在DB和NHibernate上都添加设置
- 在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)
);
-
在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; } }
网友评论