Densen.FreeSql.Extensions.BootstrapBlazor 7.7.7

There is a newer version of this package available.
See the version list below for details.
dotnet add package Densen.FreeSql.Extensions.BootstrapBlazor --version 7.7.7                
NuGet\Install-Package Densen.FreeSql.Extensions.BootstrapBlazor -Version 7.7.7                
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="7.7.7" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Densen.FreeSql.Extensions.BootstrapBlazor --version 7.7.7                
#r "nuget: Densen.FreeSql.Extensions.BootstrapBlazor, 7.7.7"                
#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=7.7.7

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

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.AddSingleton(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 was computed.  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
9.0.0 70 11/13/2024
8.10.5 115 10/16/2024
8.10.4 100 10/16/2024
8.7.5 115 7/30/2024
8.7.1 151 7/7/2024
8.7.0 96 7/1/2024
8.6.0 111 6/5/2024
8.4.0 323 4/6/2024
8.3.4 150 3/9/2024
8.3.2 116 3/7/2024
8.3.1 131 2/26/2024
8.3.0 133 2/25/2024
8.2.3 128 2/12/2024
8.2.2 134 2/9/2024
8.2.1 114 2/9/2024
8.2.0 126 2/5/2024
8.1.13 119 1/31/2024
8.1.12 148 1/20/2024
8.1.11 103 1/19/2024
8.1.10 139 1/18/2024
8.1.8 364 1/15/2024
8.1.7 120 1/14/2024
8.1.6 113 1/12/2024
8.1.5 127 1/12/2024
8.1.4 143 1/8/2024
8.0.4 142 1/8/2024
8.0.3 129 1/8/2024
8.0.2 115 1/8/2024
8.0.1 146 1/4/2024
8.0.0 241 11/15/2023
7.10.4 374 9/3/2023
7.10.3 149 9/3/2023 7.10.3 is deprecated because it has critical bugs.
7.10.2 156 9/3/2023 7.10.2 is deprecated because it has critical bugs.
7.10.1 161 9/2/2023
7.8.0 220 7/15/2023
7.7.9 241 6/12/2023
7.7.8 225 6/7/2023
7.7.7 176 6/6/2023
7.7.5 172 6/3/2023
7.7.4-beta02 145 6/3/2023
7.7.3 141 6/3/2023
7.7.1 163 6/2/2023
7.7.0 170 6/2/2023
7.2.3 1,148 3/20/2023
7.2.2 389 3/20/2023
7.2.1 932 2/24/2023
7.2.0 294 2/23/2023
7.1.1 444 1/30/2023
7.1.0 352 1/14/2023
7.0.0 403 11/9/2022
6.8.0 695 8/3/2022
6.7.0 428 8/3/2022
6.5.0 641 4/30/2022
6.4.0 461 4/29/2022
6.3.2 505 3/23/2022
6.0.2 370 12/21/2021
6.0.0 307 12/20/2021
0.0.5 388 4/12/2021
0.0.4 368 2/4/2021