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;
|
|
/// <summary>
|
/// EfCore扩展
|
/// </summary>
|
public static partial class CMSPluginEfCoreExtensions
|
{
|
/// <summary>
|
/// Includes the details.
|
/// </summary>
|
/// <param name="queryable">The queryable.</param>
|
/// <param name="include">if set to <c>true</c> [include].</param>
|
/// <returns></returns>
|
public static IQueryable<MyTestEntityName> IncludeDetails(this IQueryable<MyTestEntityName> queryable, bool include = true)
|
{
|
if (!include)
|
{
|
return queryable;
|
}
|
|
return queryable;
|
}
|
|
/// <summary>
|
/// Configures the mytestentityname.
|
/// </summary>
|
/// <param name="builder">The builder.</param>
|
public static void ConfigureMyTestEntityName(this ModelBuilder builder)
|
{
|
Check.NotNull(builder, nameof(builder));
|
|
builder.Entity<MyTestEntityName>(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();
|
});
|
}
|
}
|