using CMS.Plugin.PipeLineLems.Domain;
using CMS.Plugin.PipeLineLems.Domain.MyTestEntityNames;
using CMS.Plugin.PipeLineLems.Domain.Shared.MyTestEntityNames;
using Microsoft.EntityFrameworkCore;
using Volo.Abp;
using Volo.Abp.EntityFrameworkCore.Modeling;
namespace CMS.Plugin.PipeLineLems.EntityFrameworkCore.Extensions;
///
/// EfCore扩展
///
public static partial class CMSPluginEfCoreExtensions
{
///
/// Includes the details.
///
/// The queryable.
/// if set to true [include].
///
public static IQueryable IncludeDetails(this IQueryable queryable, bool include = true)
{
if (!include)
{
return queryable;
}
return queryable;
}
///
/// Configures the mytestentityname.
///
/// The builder.
public static void ConfigureMyTestEntityName(this ModelBuilder builder)
{
Check.NotNull(builder, nameof(builder));
builder.Entity(b =>
{
//Configure table & schema name
b.ToTable((CMSPluginDbProperties.DbTablePrefix + "_MyTestEntityNames").ToLower(), CMSPluginDbProperties.DbSchema).HasComment("MyTestEntityName");
b.ConfigureByConvention();
//Properties
b.Property(x => x.Code).HasMaxLength(MyTestEntityNameConsts.MaxCodeLength).IsRequired().HasComment("编码");
b.Property(x => x.Name).HasMaxLength(MyTestEntityNameConsts.MaxNameLength).IsRequired().HasComment("名称");
b.Property(x => x.Sort).HasComment("排序");
b.Property(x => x.IsDisabled).IsRequired(false).HasComment("是否禁用");
b.Property(x => x.Remark).HasMaxLength(MyTestEntityNameConsts.MaxRemarkLength).IsRequired(false).HasComment("备注");
b.HasIndex(u => u.Name);
b.ApplyObjectExtensionMappings();
});
}
}