diff --git a/src/Orchard.Web/Core/Common/Records/BodyRecord.cs b/src/Orchard.Web/Core/Common/Records/BodyRecord.cs index e16c556b7..adb0655bf 100644 --- a/src/Orchard.Web/Core/Common/Records/BodyRecord.cs +++ b/src/Orchard.Web/Core/Common/Records/BodyRecord.cs @@ -1,8 +1,11 @@ using Orchard.ContentManagement.Records; +using Orchard.Data.Conventions; namespace Orchard.Core.Common.Records { public class BodyRecord : ContentPartVersionRecord { + [StringLengthMax] public virtual string Text { get; set; } + public virtual string Format { get; set; } } } \ No newline at end of file diff --git a/src/Orchard.Web/Core/Common/Records/RoutableRecord.cs b/src/Orchard.Web/Core/Common/Records/RoutableRecord.cs index 100f29f62..a87035000 100644 --- a/src/Orchard.Web/Core/Common/Records/RoutableRecord.cs +++ b/src/Orchard.Web/Core/Common/Records/RoutableRecord.cs @@ -1,8 +1,11 @@ -using Orchard.ContentManagement.Records; +using System.ComponentModel.DataAnnotations; +using Orchard.ContentManagement.Records; namespace Orchard.Core.Common.Records { public class RoutableRecord : ContentPartVersionRecord { + [StringLength(1024)] public virtual string Title { get; set; } + public virtual string Slug { get; set; } } } diff --git a/src/Orchard/Data/Conventions/StringLengthConvention.cs b/src/Orchard/Data/Conventions/StringLengthConvention.cs new file mode 100644 index 000000000..996205c18 --- /dev/null +++ b/src/Orchard/Data/Conventions/StringLengthConvention.cs @@ -0,0 +1,17 @@ +using System.ComponentModel.DataAnnotations; +using FluentNHibernate.Conventions; +using FluentNHibernate.Conventions.Instances; + +namespace Orchard.Data.Conventions { + public class StringLengthMaxAttribute : StringLengthAttribute { + public StringLengthMaxAttribute() : base(10000) { + // 10000 is an arbetrary number large enough to be in the nvarchar(max) range + } + } + + public class StringLengthConvention : AttributePropertyConvention { + protected override void Apply(StringLengthAttribute attribute, IPropertyInstance instance) { + instance.Length(attribute.MaximumLength); + } + } +} diff --git a/src/Orchard/Orchard.csproj b/src/Orchard/Orchard.csproj index 6e54f2d57..d3c70e247 100644 --- a/src/Orchard/Orchard.csproj +++ b/src/Orchard/Orchard.csproj @@ -138,6 +138,7 @@ +