Furion 框架 — 让 .NET 开发更简单,更通用,更流行。

这篇具有很好参考价值的文章主要介绍了Furion 框架 — 让 .NET 开发更简单,更通用,更流行。。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Furion 官网
非常齐全且兼容性高的的一款轻量级框架
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
一创建带有 Furion 的项目
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。

//打开 CMD 或 Powershell 执行模板安装命令:
//dotnet new furionmvc -n 项目名称

dotnet new --install Furion.Template.Mvc::2.20.3
// .NET6
dotnet new --install Furion.Template.Mvc::3.1.1

Furion 框架 — 让 .NET 开发更简单,更通用,更流行。

//创建带有Furion框架的模板项目
dotnet new  FurionApi -n FurionApi

Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
以上我创建的三个
api (HelloBlog、 FurionApi)
mvc ( FurionMvc )
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
以FurionApi 为列
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
Furion 推荐采用多层项目设计架构,每一个项目层的依赖分别是:

FurionApi .Application:添加 FurionApi .Core 引用
FurionApi .Core:添加 Furion 引用 🎗
FurionApi .Database.Migrations:添加 FurionApi .EntityFramework.Core 引用
FurionApi .EntityFramework.Core:添加 FurionApi .Core 引用
FurionApi .Web.Core:添加 FurionApi .Application,FurionApi .Database.Migrations 引用
FurionApi .Web.Entry:添加 FurionApi .Web.Core 引用 和 Microsoft.EntityFrameworkCore.Tools 包

运行结果
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。

Furion  支持ef core 、SqlSugar  等orm 框架;下面以ef core 为列,数据库生成模型 【SqlServer 版】
①FurionApi .Web.Entry   
添加 FurionApi .Web.Core 引用 和 Microsoft.EntityFrameworkCore.Tools 包
②FurionApi.Core
添加Microsoft.EntityFrameworkCore.Design包
添加Microsoft.EntityFrameworkCore.SqlServer包

第一步
须把Furion 源码文件夹下的 tools/cli.ps1 文件拷贝到本地项目根目录中 gitee 下载自己版本对应的分支

第二步

PM> Show-Command ../tools/cli.ps1

Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
appsettings.json

{
  "ConnectionStrings": {
    //"DbConnectionString": "Server=localhost;Database=Furion;User=sa;Password=000000;MultipleActiveResultSets=True;",
    "DbConnectionString": "Server=.;database=Test_Demo;Trusted_Connection=True;MultipleActiveResultSets=True;",
    "Sqlite3ConnectionString": "Data Source=./Test_Demo.db"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information",
      "Microsoft.EntityFrameworkCore": "Information"
    }
  },
  "AllowedHosts": "*"
}

Furion 框架 — 让 .NET 开发更简单,更通用,更流行。

Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
选择Models 存放生成的实体类
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
创建成功
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。
创建成功
Furion 框架 — 让 .NET 开发更简单,更通用,更流行。

PM> Show-Command ./tools/cli.ps1
// -----------------------------------------------------------------------------
//  ______          _               _______          _     
// |  ____|        (_)             |__   __|        | |    
// | |__ _   _ _ __ _  ___  _ __      | | ___   ___ | |___ 
// |  __| | | | '__| |/ _ \| '_ \     | |/ _ \ / _ \| / __|
// | |  | |_| | |  | | (_) | | | |    | | (_) | (_) | \__ \
// |_|   \__,_|_|  |_|\___/|_| |_|    |_|\___/ \___/|_|___/
//                                                         
// -----------------------------------------------------------------------------
Furion Tools v2.20.0 启动中......
Furion Tools v2.20.0 启动成功!
Furion Tools v2.20.0 请键入操作类型:[G] 界面操作,[任意字符] 命令行操作
Furion Tools v2.20.0 您的输入是: G
Furion Tools v2.20.0 正在加载数据库表和视图......
Furion Tools v2.20.0 加载成功!
Furion Tools v2.20.0 正在编译解决方案代码......
Build started...
Build succeeded.
The Entity Framework tools version '5.0.12' is older than that of the runtime '5.0.15'. Update the tools for the latest features and bug fixes.
Security Warning: The negotiated TLS 1.0 is an insecure protocol and is supported for backward compatibility only. The recommended protocol version is TLS 1.2 and later.
Furion Tools v2.20.0 编译成功!
Furion Tools v2.20.0 开始生成实体文件......
Furion Tools v2.20.0 正在生成 SySDepartment.cs 实体代码......
Furion Tools v2.20.0 成功生成 SySDepartment.cs 实体代码
// -----------------------------------------------------------------------------
// Generate By Furion Tools v2.20.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using FurionApi.Core;

namespace FurionApi.Core
{
    public partial class SySDepartment : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<SySDepartment, MasterDbContextLocator>
    {
    
        public string Facility { get; set; }
        public string Site { get; set; }
        public string DeptCode { get; set; }
        public int? LineId { get; set; }
        public string UpperDept { get; set; }
        public string Creator { get; set; }
        public DateTime CreateDate { get; set; }
        public string Modifier { get; set; }
        public DateTime? ModifyDate { get; set; }
    
        public void Configure(EntityTypeBuilder<SySDepartment> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.HasKey(e => new { e.DeptCode, e.Facility, e.Site });

                entityBuilder.ToTable("SY_S_DEPARTMENT");

                entityBuilder.Property(e => e.DeptCode)
                    .HasMaxLength(50)
                    .IsUnicode(false)
                    .HasColumnName("DEPT_CODE");

                entityBuilder.Property(e => e.Facility)
                    .HasMaxLength(10)
                    .IsUnicode(false)
                    .HasColumnName("FACILITY");

                entityBuilder.Property(e => e.Site)
                    .HasMaxLength(15)
                    .IsUnicode(false)
                    .HasColumnName("SITE");

                entityBuilder.Property(e => e.CreateDate)
                    .HasColumnType("datetime")
                    .HasColumnName("CREATE_DATE")
                    .HasDefaultValueSql("(getdate())");

                entityBuilder.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(25)
                    .IsUnicode(false)
                    .HasColumnName("CREATOR");

                entityBuilder.Property(e => e.LineId).HasColumnName("LINE_ID");

                entityBuilder.Property(e => e.Modifier)
                    .HasMaxLength(25)
                    .IsUnicode(false)
                    .HasColumnName("MODIFIER");

                entityBuilder.Property(e => e.ModifyDate)
                    .HasColumnType("datetime")
                    .HasColumnName("MODIFY_DATE");

                entityBuilder.Property(e => e.UpperDept)
                    .HasMaxLength(50)
                    .IsUnicode(false)
                    .HasColumnName("UPPER_DEPT");
        }

    }
}
Furion Tools v2.20.0 正在生成 SySGlobalMultipleLanguageValue.cs 实体代码......
Furion Tools v2.20.0 成功生成 SySGlobalMultipleLanguageValue.cs 实体代码
// -----------------------------------------------------------------------------
// Generate By Furion Tools v2.20.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;
using System.Linq;
using FurionApi.Core;

namespace FurionApi.Core
{
    public partial class SySGlobalMultipleLanguageValue : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<SySGlobalMultipleLanguageValue, MasterDbContextLocator>
    {
    
        public string LookupType { get; set; }
        public string LookupValue { get; set; }
        public string Meaning { get; set; }
        public string Language { get; set; }
        public string Creator { get; set; }
        public DateTime CreateDate { get; set; }
        public string Modifier { get; set; }
        public DateTime? ModifyDate { get; set; }
    
        public void Configure(EntityTypeBuilder<SySGlobalMultipleLanguageValue> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.HasKey(e => new { e.LookupType, e.LookupValue, e.Language })
                    .HasName("PK_SY_S_GLOBAL_TABLE_LANGUAGE_VALUE");

                entityBuilder.ToTable("SY_S_GLOBAL_MULTIPLE_LANGUAGE_VALUE");

                entityBuilder.Property(e => e.LookupType)
                    .HasMaxLength(80)
                    .IsUnicode(false)
                    .HasColumnName("LOOKUP_TYPE");

                entityBuilder.Property(e => e.LookupValue)
                    .HasMaxLength(50)
                    .IsUnicode(false)
                    .HasColumnName("LOOKUP_VALUE");

                entityBuilder.Property(e => e.Language)
                    .HasMaxLength(10)
                    .IsUnicode(false)
                    .HasColumnName("LANGUAGE");

                entityBuilder.Property(e => e.CreateDate)
                    .HasColumnType("datetime")
                    .HasColumnName("CREATE_DATE");

                entityBuilder.Property(e => e.Creator)
                    .IsRequired()
                    .HasMaxLength(25)
                    .IsUnicode(false)
                    .HasColumnName("CREATOR");

                entityBuilder.Property(e => e.Meaning)
                    .IsRequired()
                    .HasMaxLength(100)
                    .HasColumnName("MEANING");

                entityBuilder.Property(e => e.Modifier)
                    .HasMaxLength(25)
                    .IsUnicode(false)
                    .HasColumnName("MODIFIER");

                entityBuilder.Property(e => e.ModifyDate)
                    .HasColumnType("datetime")
                    .HasColumnName("MODIFY_DATE");
        }

    }
}
Furion Tools v2.20.0 全部实体生成成功!
PM> 

Furion框架-api模板创建demo文章来源地址https://www.toymoban.com/news/detail-439458.html

到了这里,关于Furion 框架 — 让 .NET 开发更简单,更通用,更流行。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • .Net初学 创建一个巨简单的.Net7 WebApi后端框架

    visual studio 2022 以下简称vs    Visual Studio安装指南_visual studio安装教程_技术人小柒的博客-CSDN博客 sqlserver 2022 以下简称mssql        SQL Server2022 Express和SSMS下载安装教程(超详细) (baidu.com) redis Redis下载安装图文教程(Windows版_超详细)_windows redis下载_Leeway啊樺的博客-CSDN博客

    2024年02月21日
    浏览(31)
  • NSubstitute:一个简单易用、灵活多变的.NET单元测试模拟框架

    推荐一个简单易用、灵活多变的.NET单元测试模拟框架,让开发者能够更轻松地进行单元测试。 NSubstitute是一个开源的.NET单元测试模拟类库,该框架设计的主要目标是提供一个简单明了、易用性强、贴近自然语言的模拟测试框架。它使得开发者能够专注于测试工作,而不是纠

    2024年02月07日
    浏览(35)
  • c#联合halcon机器视觉通用视觉框架2。流程化开发

    c#联合halcon机器视觉通用视觉框架2。 流程化开发。 缺陷检测,定位,测量,OCR识别。 拉控件式。 在现代工业领域中,机器视觉技术已经成为了一个非常重要的应用方向。然而,要将这种技术应用到具体的生产场景中,需要一个有效的视觉框架来实现。在这方面,c#联合hal

    2024年04月13日
    浏览(37)
  • 基于Avalonia 11.0.0+ReactiveUI 的跨平台项目开发1-通用框架

    Avalonia是.NET的一个跨平台UI框架,提供了一个灵活的样式系统,支持广泛的操作系统,如Windows、Linux、macOS,并对Android、iOS和WebAssembly提供了实验性支持。 之前已经了解了基于Avalonia的项目在国产麒麟系统中运行的案例。正是Avalonia在跨平台的出色表现,学习和了解Avalonia这个

    2024年02月16日
    浏览(36)
  • 【代码审计-.NET】基于.NET框架开发的代码审计

      博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。 殊荣:CSDN网络安全领域优质创作者,2022年双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。 擅长:对

    2024年02月04日
    浏览(35)
  • 当前流行的UI框架

    最流行的UI框架     1.Bootstrap:用于开发响应式布局、移动优先的Web项目。可以快速上手,几乎没什么学习成本,是一个入门级的UI框架。     2.AmazeUI:妹子UI,它也是一个移动优先的UI框架,主要能解决国内浏览器存在的跨屏适配和兼容性问题。     3.Uni-app:是一个使用Vu

    2024年02月12日
    浏览(45)
  • 10个流行的PHP框架

    在Web开发中,PHP是一个非常流行的编程语言,因为它具有广泛的应用范围、易于学习和使用、稳定性强等诸多优点。PHP框架是一种Web开发工具,它为开发人员提供了一些常用的功能和工具,例如路由、模板引擎、ORM等等,使得开发人员可以更快速地构建Web应用程序。以下是

    2024年02月05日
    浏览(41)
  • 目前流行的9大前端框架

    1. React 2. Vue 3. Angular 、 官网:https://svelte.dev 中文官网:https://www.sveltejs.cn Svelte 是一种全新的构建用户界面的方法。传统框架如 React 和 Vue 在浏览器中需要做大量的工作,而 Svelte 将这些工作放到构建应用程序的编译阶段来处理。 官网:https://alpinejs.dev 中文官网:https://www.

    2024年02月05日
    浏览(71)
  • 推荐一个.Net分布式微服务开发框架

    在给大家介绍之前,我们一起来看看分布式架构的使用场景与好处。 针对一些互联网系统,大数据、高并发和快速响应,都是系统必须满足的 ,而单机系统的架构是无法满足这样的需求的,这时候我们就需要用到分布式的架构。 分布式架构具备以下的好处: 高性能 :把高

    2024年02月10日
    浏览(32)
  • dotnet 简单方法在一个进程内同时跑起 WPF 和 ASP.NET Core 框架

    从设计架构上,无论是 WPF 还是 ASP.NET Core 框架,都是在 dotnet 运行时上层的应用,两个框架处于平级的结构。理论上讲,两个平级的框架只要不存在特殊的情况,都是能够相容存在的。本文将和大家介绍一个非常简单的方法,在一个进程内同时跑起 WPF 和 ASP.NET Core 框架 在一

    2024年04月26日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包