Densen.FreeSql.Extensions.BootstrapBlazor 8.1.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package Densen.FreeSql.Extensions.BootstrapBlazor --version 8.1.4                
NuGet\Install-Package Densen.FreeSql.Extensions.BootstrapBlazor -Version 8.1.4                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Densen.FreeSql.Extensions.BootstrapBlazor" Version="8.1.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Densen.FreeSql.Extensions.BootstrapBlazor --version 8.1.4                
#r "nuget: Densen.FreeSql.Extensions.BootstrapBlazor, 8.1.4"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Densen.FreeSql.Extensions.BootstrapBlazor as a Cake Addin
#addin nuget:?package=Densen.FreeSql.Extensions.BootstrapBlazor&version=8.1.4

// Install Densen.FreeSql.Extensions.BootstrapBlazor as a Cake Tool
#tool nuget:?package=Densen.FreeSql.Extensions.BootstrapBlazor&version=8.1.4                

BootstrapBlazor的FreeSql数据注入服务扩展包

  1. 注入服务
//添加FreeSql服务
builder.Services.AddFreeSql(option =>
{
    option.UseConnectionString(FreeSql.DataType.Sqlite, builder.Configuration.GetConnectionString("IdsSQliteConnection"))  //也可以写到配置文件中
#if DEBUG
         //开发环境:自动同步实体
         .UseAutoSyncStructure(true)
         .UseNoneCommandParameter(true)
    //调试sql语句输出
         .UseMonitorCommand(cmd => System.Console.WriteLine(cmd.CommandText + Environment.NewLine))
#endif
    ;
})

//全功能版
builder.Services.AddTransient(typeof(FreeSqlDataService<>));
  1. FreeSql ORM 的 IDataService 数据注入服务接口实现
        /// <summary>
        /// 查询方法
        /// </summary>
        /// <param name="option"></param>
        /// <returns></returns>
        public override Task<QueryData<TModel>> QueryAsync(QueryPageOptions option)


        /// <summary>
        /// 查询方法
        /// </summary>
        /// <param name="option"></param>
        /// <param name="WhereCascade">附加查询条件使用and结合</param>
        /// <param name="IncludeByPropertyNames">附加IncludeByPropertyName查询条件, 单项可逗号隔开附加查询条件的第二个参数 then,可以进行二次查询前的修饰工作. (暂时只支持一个then附加)</param>
        /// <param name="LeftJoinString">左联查询,使用原生sql语法,LeftJoin("type b on b.id = a.id")</param>
        /// <param name="OrderByPropertyName">强制排序,但是手动排序优先</param>
        /// <param name="WhereCascadeOr">附加查询条件使用or结合</param>
        /// <param name="WhereLamda">查询条件,Where(a => a.Id > 10),支持导航对象查询,Where(a => a.Author.Email == "2881099@qq.com")</param>
        /// <returns></returns>
        public Task<QueryData<TModel>> QueryAsyncWithWhereCascade(
                    QueryPageOptions option,
                    DynamicFilterInfo? WhereCascade = null,
                    List<string>? IncludeByPropertyNames = null,
                    string? LeftJoinString = null,
                    List<string>? OrderByPropertyName = null,
                    List<string>? WhereCascadeOr = null,
                    Expression<Func<TModel, bool>>? WhereLamda = null)

        /// <summary>
        /// 全部记录
        /// </summary>
        /// <param name="WhereCascade">附加查询条件使用and结合</param>
        /// <param name="IncludeByPropertyNames">附加IncludeByPropertyName查询条件, 单项可逗号隔开附加查询条件的第二个参数 then,可以进行二次查询前的修饰工作. (暂时只支持一个then附加)</param>
        /// <param name="LeftJoinString">左联查询,使用原生sql语法,LeftJoin("type b on b.id = a.id")</param>
        /// <param name="OrderByPropertyName">强制排序,但是手动排序优先</param>
        /// <param name="WhereCascadeOr">附加查询条件使用or结合</param>
        /// <param name="WhereLamda">查询条件,Where(a => a.Id > 10),支持导航对象查询,Where(a => a.Author.Email == "2881099@qq.com")</param>
        /// <returns></returns>
        public List<TModel>? GetAllItems(
                    DynamicFilterInfo? WhereCascade = null,
                    List<string>? IncludeByPropertyNames = null,
                    string? LeftJoinString = null,
                    List<string>? OrderByPropertyName = null,
                    List<string>? WhereCascadeOr = null,
                    Expression<Func<TModel, bool>>? WhereLamda = null)

  1. FreeSql ORM 查询工具类

FsqlUtil

        /// <summary>
        /// 执行查询
        /// </summary>
        /// <param name="options">查询条件</param>
        /// <param name="optionsLast">缓存查询条件</param>
        /// <param name="TotalCount"></param> 
        /// <param name="fsql"></param>
        /// <param name="WhereCascade">附加查询条件使用and结合</param>
        /// <param name="IncludeByPropertyNames">附加IncludeByPropertyName查询条件.<para></para>
        /// 其中单项可逗号隔开附加查询条件的第二个参数 then,可以进行二次查询前的修饰工作. <para></para>
        /// 单项第二个逗号隔开可第三层then附加</param>
        /// <param name="LeftJoinString">左联查询,使用原生sql语法,LeftJoin("type b on b.id = a.id")</param>
        /// <param name="OrderByPropertyName">强制排序,但是手动排序优先</param>
        /// <param name="WhereCascadeOr">附加查询条件使用or结合</param>
        /// <param name="forceAllItems">附加查询条件使用or结合</param>
        /// <param name="WhereLamda">查询条件,Where(a => a.Id > 10),支持导航对象查询,Where(a => a.Author.Email == "2881099@qq.com")</param>
        public static QueryData<TModel> Fetch<TModel>(
                                QueryPageOptions options,
                                QueryPageOptions? optionsLast,
                                long? TotalCount,
                                IFreeSql fsql,
                                DynamicFilterInfo? WhereCascade = null,
                                List<string>? IncludeByPropertyNames = null,
                                string? LeftJoinString = null,
                                List<string>? OrderByPropertyName = null,
                                List<string>? WhereCascadeOr = null,
                                bool forceAllItems = false,
                                Expression<Func<TModel, bool>>? WhereLamda = null) where TModel : class, new()

  1. TablePollo 组件
        <h4>用户表</h4>

        <TablePollo TItem="AspNetUsers" ItemDetails="NullClass" ItemDetailsII="NullClass" ShowColumnList />

        <TablePollo TItem="AspNetUsers"
                    IncludeByPropertyNames="@IncludeAspNetUsers"
                    ItemDetails="AspNetUserRoles"
                    SubIncludeByPropertyNames="@SubIncludeByPropertyNames"
                    ItemDetailsII="NullClass"
                    ItemDetailsIII="NullClass"
                    ShowColumnList
                    ShowExportButton
                    ShowDetailRowS
                    Field="@nameof(AspNetUsers.Id)"
                    FieldD="@nameof(AspNetUserRoles.UserId)"
                    ExportToStream="false"
                    ExportBasePath="temp"/>

        @code{

            //通过 UserId 联表读取角色表 AspNetUserRoles 指定用户数据, 但是AspNetUsers表主键是 Id 字段, 详表指定 FieldD="UserId"

            //附加导航IncludeByPropertyName查询条件
            List<string> IncludeAspNetUsers
            {
                get => new List<string> {
                    $"{nameof(AspNetUsers.AspNetUserRoless)},{nameof(AspNetUserRoles.AspNetRoless)}" ,
                };
            }

            List<string> SubIncludeByPropertyNames = new List<string> {
                nameof(AspNetUserRoles.AspNetRoless) ,
            };


        }

更新日志

  • 2023-6-3 添加 ItemDetailsIII , 选项卡3, 附加查询条件III
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Densen.FreeSql.Extensions.BootstrapBlazor:

Package Downloads
BootstrapBlazor.Table.Freesql

BootstrapBlazor 的 Table 扩展

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Densen.FreeSql.Extensions.BootstrapBlazor:

Repository Stars
densen2014/BlazorMaui
用 c # 和 Razor 创建本机移动应用和桌面应用。使用 Blazor.BB.Maui,可以快速开发共享代码库运行于 Windows (Winforms/WPF/UWP)、Android、iOS、macOS 的应用。
Version Downloads Last updated
8.7.5 88 7/30/2024
8.7.1 128 7/7/2024
8.7.0 94 7/1/2024
8.6.0 95 6/5/2024
8.4.0 276 4/6/2024
8.3.4 126 3/9/2024
8.3.2 97 3/7/2024
8.3.1 113 2/26/2024
8.3.0 112 2/25/2024
8.2.3 112 2/12/2024
8.2.2 116 2/9/2024
8.2.1 97 2/9/2024
8.2.0 102 2/5/2024
8.1.13 103 1/31/2024
8.1.12 133 1/20/2024
8.1.11 93 1/19/2024
8.1.10 112 1/18/2024
8.1.8 300 1/15/2024
8.1.7 100 1/14/2024
8.1.6 99 1/12/2024
8.1.5 101 1/12/2024
8.1.4 127 1/8/2024
8.0.4 124 1/8/2024
8.0.3 113 1/8/2024
8.0.2 110 1/8/2024
8.0.1 136 1/4/2024
8.0.0 229 11/15/2023
7.10.4 339 9/3/2023
7.10.3 127 9/3/2023 7.10.3 is deprecated because it has critical bugs.
7.10.2 130 9/3/2023 7.10.2 is deprecated because it has critical bugs.
7.10.1 135 9/2/2023
7.8.0 195 7/15/2023
7.7.9 206 6/12/2023
7.7.8 201 6/7/2023
7.7.7 158 6/6/2023
7.7.5 157 6/3/2023
7.7.4-beta02 119 6/3/2023
7.7.3 140 6/3/2023
7.7.1 161 6/2/2023
7.7.0 153 6/2/2023
7.2.3 1,083 3/20/2023
7.2.2 369 3/20/2023
7.2.1 850 2/24/2023
7.2.0 279 2/23/2023
7.1.1 431 1/30/2023
7.1.0 349 1/14/2023
7.0.0 395 11/9/2022
6.8.0 690 8/3/2022
6.7.0 411 8/3/2022
6.5.0 624 4/30/2022
6.4.0 446 4/29/2022
6.3.2 486 3/23/2022
6.0.2 356 12/21/2021
6.0.0 284 12/20/2021
0.0.5 363 4/12/2021
0.0.4 351 2/4/2021