![]() |
VOOZH | about |
dotnet add package Galosys.Foundation.FreeSql --version 26.5.19.1
NuGet\Install-Package Galosys.Foundation.FreeSql -Version 26.5.19.1
<PackageReference Include="Galosys.Foundation.FreeSql" Version="26.5.19.1" />
<PackageVersion Include="Galosys.Foundation.FreeSql" Version="26.5.19.1" />Directory.Packages.props
<PackageReference Include="Galosys.Foundation.FreeSql" />Project file
paket add Galosys.Foundation.FreeSql --version 26.5.19.1
#r "nuget: Galosys.Foundation.FreeSql, 26.5.19.1"
#:package Galosys.Foundation.FreeSql@26.5.19.1
#addin nuget:?package=Galosys.Foundation.FreeSql&version=26.5.19.1Install as a Cake Addin
#tool nuget:?package=Galosys.Foundation.FreeSql&version=26.5.19.1Install as a Cake Tool
成熟度: 🟡 可用 — 功能完整,测试或文档可能不完善
FreeSql ORM 框架集成模块,为 Galosys.Foundation 提供基于 FreeSql 的数据访问层实现。
Galosys.Foundation.FreeSql 是 FreeSql ORM 框架在 Galosys.Foundation 框架中的集成模块。它提供了自动化的数据库连接管理、实体映射、审计字段填充、多租户支持等企业级功能。
IMultiTenancy 接口实现数据隔离IMultiApplication 接口实现应用级数据隔离IDeletable 接口)<ItemGroup>
<PackageReference Include="Galosys.Foundation.FreeSql" Version="x.x.x" />
</ItemGroup>
{
"ConnectionStrings": {
"Default": {
"ConnectionString": "Server=localhost;Database=mydb;User=root;Password=password;",
"Provider": "MySqlConnector"
}
}
}
| Provider | 数据库类型 |
|---|---|
system.data.sqlClient / microsoft.data.sqlClient |
SqlServer |
MySqlConnector |
MySql |
Npgsql |
PostgreSQL |
Oracle.ManagedDataAccess.Client |
Oracle |
Microsoft.Data.Sqlite |
SQLite |
public class ProductService
{
private readonly IFreeSql _fsql;
public ProductService([FromKeyedServices("Default")] IFreeSql fsql)
{
_fsql = fsql;
}
// 查询
public async Task<List<Product>> GetProductsAsync()
{
return await _fsql.Select<Product>()
.Where(p => !p.Deleted) // 软删除过滤
.ToListAsync();
}
// 新增
public async Task AddProductAsync(Product product)
{
await _fsql.Insert(product).ExecuteAffrowsAsync();
}
// 更新
public async Task UpdateProductAsync(Product product)
{
await _fsql.Update<Product>(product).ExecuteAffrowsAsync();
}
// 删除(软删除)
public async Task DeleteProductAsync(long id)
{
await _fsql.Update<Product>(id)
.Set(p => p.Deleted, true)
.ExecuteAffrowsAsync();
}
}
[Table("products")]
public class Product : FullEntity<long>
{
[SnowflakeId]
public new long Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
[CreatedAt]
public DateTime CreatedAt { get; set; }
[CreatorId]
public long CreatorId { get; set; }
[LastModifiedAt]
public DateTime? LastModifiedAt { get; set; }
}
| 类名 | 描述 |
|---|---|
FreeSqlModule |
模块入口,实现 IModule 接口 |
FreeSqlServiceCollectionExtensions |
DI 扩展方法,注册 FreeSql 服务 |
IRepository、IUnitOfWork 等接口模块会自动填充以下审计字段:
| 特性 | 类型 | 说明 |
|---|---|---|
[SnowflakeId] |
long |
雪花ID,插入时自动生成 |
[CreatedAt] |
DateTime |
创建时间,插入时自动设置 |
[CreatorId] |
long |
创建人ID,插入时自动填充 |
[CreatorName] |
string |
创建人姓名,插入时自动填充 |
[LastModifiedAt] |
DateTime? |
最后修改时间,更新时自动设置 |
[LastModifierId] |
long? |
最后修改人ID,更新时自动填充 |
[LastModifierName] |
string? |
最后修改人姓名,更新时自动填充 |
IDeletable.Deleted == true 的记录TenantManager.Current > 0 时,自动按 TenantId 过滤ApplicationManager.Current > 0 时,自动按 AppId 过滤| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 26.5.19.1 | 96 | 5/19/2026 |
| 26.5.18.1 | 95 | 5/18/2026 |
| 26.5.15.1 | 105 | 5/15/2026 |
| 26.5.12.3 | 96 | 5/12/2026 |
| 26.5.12.2 | 92 | 5/12/2026 |
| 26.4.27.1-rc1 | 94 | 4/26/2026 |
| 26.4.25.1-rc1 | 91 | 4/25/2026 |
| 26.4.22.2-rc7 | 99 | 4/22/2026 |
| 26.4.22.2-rc6 | 92 | 4/22/2026 |
| 26.4.22.2-rc4 | 96 | 4/22/2026 |
| 26.4.22.2-rc3 | 90 | 4/22/2026 |
| 26.4.19.1-rc1 | 101 | 4/19/2026 |
| 26.4.12.8-rc1 | 99 | 4/12/2026 |
| 26.4.12.7-rc1 | 98 | 4/12/2026 |
| 26.1.30.1-rc1 | 121 | 1/30/2026 |
| 26.1.29.1 | 122 | 1/29/2026 |
| 26.1.28.5 | 116 | 1/28/2026 |
| 26.1.28.4 | 122 | 1/28/2026 |
| 26.1.28.2 | 115 | 1/28/2026 |
| 26.1.23.6 | 112 | 1/23/2026 |