[オープンソース] FreeSql.AdminLTE機能のアップグレード

序文

これまでにリリースされFreeSqlは徐々に早ければ数ヶ月前の記事に書いたように、自分自身のエコシステムを形成し、機能は徐々に改善し、9ヶ月となっている:「MVCミドルウェアFreeSql.AdminLTE武器のORMの開発環境を」あなたが読むことができます、記事の内容のインとアウトを学び、その後、見にここに戻ってきます。

私は個人的に小さなチームのようにも大企業では、時々、「それは一人で行く」、だけでなく、3-5個人の小規模なプロジェクトチームをやって、私は多くの人が同じような経験を持っていたと信じています。

それは、開発環境でのみ記事、以前FreeSql.AdminLTEちょうど花瓶、非常に限られたアプリケーションシナリオ、テストデータ管理の目的からわかるように、その数ヶ月後、私は基本的には実際にそれを使用していませんでした。それは恥ずかしいではないですか?

機能のアップグレード状況が変化し、この記事を読んで最初にしています。

  • 私は、生成されたデフォルトの機能上の二次開発を期待して、管理機能を持っているのが好き。

  • 私は、二次開発にはあまりにも難しいことはありません、使いやすく、シンプルにそれを維持したいです。

それはソースリポジトリまたはそれに貼付開くために来るとき:https://github.com/2881099/FreeSql.AdminLTEを賞賛する歓迎は、あなたに感謝しながら、メインプロジェクトFreeSqlは現在、900以上の星を持っています!

プロジェクトの背景

簡単な単一テーブルのCRUD操作に加えて、一般的なバックグラウンド管理システムを製造するために、私はまたのような外部キー操作を、持っていたいです。

1、歌、/タグを追加するタグ-多くのシナリオでは、更新ソングと一緒に保存することができます。

2、ページのリストには、我々は多くのろ過フィルタ基準に表示され、外部キーを願っています。

3、リストページ、フィルタのフィルタ基準に表示される列挙することを望んで。

だから、上とその複雑な操作これらの技術が動作するため、複雑な理由は、難しいことではありません、努力の深刻な重複です。

過酷な環境を人材派遣では、ツールを選択することで、生産性を最大限に高めるので、我々は仕事でオフにへまをするより多くの時間を持っています。

ORMエンティティは世代バックオフィス機能を既存の便利な条件を使用して構成されているので、それは本当に大きな喜びです!

関数ライブラリ部門

プロジェクト
FreeSqlAdminLTE netstandard2.0、net45
FreeSql.AdminLTE.Tools netcoreapp2.1
FreeSqlAdminLTEPreview netstandard2.0

ほぼ同じAdminLTE機能を生成3つのパッケージは、エンティティクラス、ナビゲーションの関係に応じて、デフォルトの背景管理機能を生成するために面倒です。

一般的な入力条件:

  • 注釈付きエンティティクラス(プロジェクトのXMLドキュメントを開きます)。
  • ナビゲーションは、エンティティ・クラス構成を(従来の面倒な背景管理機能を生成する)属性。

FreeSqlAdminLTEPreview

.NETCore MVCミドルウェアは、AdminLTE動的]管理をチェックするためにプレビューを変更FreeSqlエンティティ指定フロントエンドフレーム欠失に基づいて生成されました。

使用シナリオ:開発環境、生産テストデータ。

DOTNETは、パッケージを追加FreeSql.AdminLTE.Preview

public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<IFreeSql>(fsql);
}

public void Configure(IApplicationBuilder app)
{
    app.UseFreeAdminLtePreview("/testadmin/",
        typeof(TestDemo01.Entitys.Song),
        typeof(TestDemo01.Entitys.Tag));
}

画像

画像

FreeSqlAdminLTE

コンフィギュレーション、ナビゲーション関係の設定に基づいてFreeSqlエンティティクラスは、すぐに[]の二次開発をサポートするために、バックオフィス・システムを検索MVC +レイザー+ AdminLTEを変更するには追加と削除に基づいてコードを生成します。

使用シナリオ:asp.net/asp.netcoreバックオフィスシステムは、高速、二次開発[カスタム]を生成します。

DOTNETアドオンパッケージFreeSql.AdminLTE

using (var gen = new FreeSql.AdminLTE.Generator(new GeneratorOptions()))
{
    gen.Build("d:/test/", new[] { typeof(TestDemo01.Entitys.Song) }, false);
}

リマインダー!リマインダー!リマインダー!

コントローラー、コードFreeSql.DbContextカミソリのライブラリに依存して生成した後、手動で追加

ヘビー機能:FreeSql.AdminLTE.Tools

どのようなツールがより効率的ですか?

コマンドライン。コマンドライン。コマンドライン。それでなければなりません!

簡単グローバルツールは、最初の発生で.NETコア2.1の特性です。グローバルツールNuGetパッケージの配信にパッケージ化することができ、開発者は.NETのコアアプリケーションを作成するための方法を提供します。.NETのコアは、ターゲットプラットフォーム上で動作している場合は、適切なパッケージのグローバルツールは、そこに実行することができます。JavaScript開発者は、興味深いものが、このツールは、直接NPMグローバルツールを借りているということであるかもしれません。

FreeSql.AdminLTE.Tools 是对 FreeSql.AdminLTE 功能的工具命令化封装,命令行快速生成代码。

使用场景:asp.netcore 后台管理系统快速生成,二次开发。

dotnet tool install -g FreeSql.AdminLTE.Tools


进入后台项目(可以是空项目、或已存在的项目),执行以下命令

FreeSql.AdminLTE.Tools -Find MyTest.Model..+

命令行参数 说明
-Find * 匹配实体类FullName的正则表达式
-ControllerNameSpace 控制器命名空间(默认:FreeSql.AdminLTE)
-ControllerRouteBase 控制器请求路径前辍(默认:/AdminLTE/)
-ControllerBase 控制器基类(默认:Controller)
-First 是否生成 ApiResult.cs、index.html、htm 静态资源(首次生成)
-Output 输出路径(默认:当前目录)

打开 command 命令行,执行效果如下:

>dotnet tool install -g FreeSql.AdminLTE.Tools
可使用以下命令调用工具: FreeSql.AdminLTE.Tools
已成功安装工具“freesql.adminlte.tools”(版本“0.9.4”)。

>FreeSql.AdminLTE.Tools
        ____                   ____         __
       / __/  ____ ___  ___   / __/ ___ _  / /
      / _/   / __// -_)/ -_) _\ \  / _ `/ / /
     /_/    /_/   \__/ \__/ /___/  \_, / /_/
                                    /_/


  # Github # https://github.com/2881099/FreeSql


    基于 .NETCore 2.1 环境,在控制台当前目录的项目下,根据实体类生成 AdminLTE 后台管理功能的相关文件。

  # 生成条件 #

    1、实体类的注释(请开启项目XML文档);
    2、实体类的导航属性配置(可生成繁琐的常用后台管理功能)。

  # 快速开始 #

    > FreeSql.AdminLTE.Tools -Find MyTest\.Model\..+

        -Find                  * 匹配实体类FullName的正则表达式

        -ControllerNameSpace   控制器命名空间(默认:FreeSql.AdminLTE)
        -ControllerRouteBase   控制器请求路径前辍(默认:/AdminLTE/)
        -ControllerBase        控制器基类(默认:Controller)

        -First             是否生成 ApiResult.cs、index.html、htm 静态资源(首次生成)
        -Output                输出路径(默认:当前目录)

  # 生成到其他目录 #

    > FreeSql.AdminLTE.Tools -Find MyTest\.Model\..+ -Output d:/test

演示

1、在桌面创建目录:MyProject

2、打开 cmd,进行 MyProject 目录,win10 下打开 MyProject 目录点击地址栏录入 cmd 可快速打开 cmd,并且目录为当前地址

3、执行 dotnet new webapi

C:\Users\28810\Desktop\MyProject>dotnet new webapi
已成功创建模板“ASP.NET Core Web API”。

正在处理创建后操作...
正在 C:\Users\28810\Desktop\MyProject\MyProject.csproj 上运行 "dotnet restore"...
  正在还原 C:\Users\28810\Desktop\MyProject\MyProject.csproj 的包...
  正在生成 MSBuild 文件 C:\Users\28810\Desktop\MyProject\obj\MyProject.csproj.nuget.g.props。
  正在生成 MSBuild 文件 C:\Users\28810\Desktop\MyProject\obj\MyProject.csproj.nuget.g.targets。
  C:\Users\28810\Desktop\MyProject\MyProject.csproj 的还原在 1.11 sec 内完成。

还原成功。

4、执行 dotnet add package FreeSql.Provider.Sqlite

5、执行 dotnet add package FreeSql.DbContext

6、创建几个常用的实体类,点击下载演示的实体类

7、确定项目可以编译通过

C:\Users\28810\Desktop\MyProject>dotnet build
用于 .NET Core 的 Microsoft (R) 生成引擎版本 15.9.20+g88f5fadfbe
版权所有(C) Microsoft Corporation。保留所有权利。

  C:\Users\28810\Desktop\MyProject\MyProject.csproj 的还原在 65.32 ms 内完成。
  MyProject -> C:\Users\28810\Desktop\MyProject\bin\Debug\netcoreapp2.2\MyProject.dll
  MyProject -> C:\Users\28810\Desktop\MyProject\bin\Debug\netcoreapp2.2\MyProject.Views.dll

已成功生成。
    0 个警告
    0 个错误

已用时间 00:00:01.82

8、执行 FreeSql.AdminLTE.Tools -Find MyProject.Model..+ -First

请开启项目 xml 文档生成功能,再执行此操作

9、运行项目,执行 dotnet run

これは一般的なWEBAPIプロジェクトがあるので、そうでStartup.csを変更してください、何のオープンアクセスの静的なリソースはありません。

public class Startup
{
    public Startup()
    {
        Fsql = new FreeSql.FreeSqlBuilder()
            .UseConnectionString(FreeSql.DataType.Sqlite, @"Data Source=|DataDirectory|/test.db;Pooling=true;Max Pool Size=5")
            .UseAutoSyncStructure(true)
            .Build();
    }
    public static IFreeSql Fsql { get; private set; }

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddSingleton<IFreeSql>(Fsql);
        services.AddMvc();
    }

    public void Configure(IApplicationBuilder app, ILoggerFactory loggerFactory)
    {
        app.UseDeveloperExceptionPage();
        app.UseMvc();
        app.UseDefaultFiles();
        app.UseStaticFiles();
    }
}

10、のような、アドレス段階のヒントにアクセスするためのブラウザを開きます。http:// localhost:57844 / adminlte / index.htmlを

感情

、VUEを使用するために好きではない実際には、私が使用することになり、追加の罰金が堪能ではないと述べました。ただ、すぐに十分な小規模事業VUEと思います。

FreeSql.AdminLTE.Toolsコマンドライン操作、迅速エンティティクラスかみそり+コントローラの修正された方法を確認し、コマンドは、.NETフレームワークプロジェクトをサポートするために一時的にできない単一バッチまたは欠失を生成することができ、プロジェクトが組み込まれたASP.NET MVCカスタムライブラリFreeSql.AdminLTEと考えることができますコード生成。

FreeSql.AdminLTE以降の更新可能なコンテンツは非常に小さな、小さなパートナーの関心である、同じモデルがFreeSql.ElementUIを行うために使用することができ、右も可能ではないでしょうか?とにかく、FreeSqlは基本的な保護を提供するがあります。

使用の質問には、メッセージを残してください場合は、あなたに感謝!

githubの:https://github.com/2881099

おすすめ

転載: www.cnblogs.com/kellynic/p/11444176.html