EFDbProvider.EntityFrameworkCore
2.1.1
dotnet add package EFDbProvider.EntityFrameworkCore --version 2.1.1
NuGet\Install-Package EFDbProvider.EntityFrameworkCore -Version 2.1.1
<PackageReference Include="EFDbProvider.EntityFrameworkCore" Version="2.1.1" />
<PackageVersion Include="EFDbProvider.EntityFrameworkCore" Version="2.1.1" />
<PackageReference Include="EFDbProvider.EntityFrameworkCore" />
paket add EFDbProvider.EntityFrameworkCore --version 2.1.1
#r "nuget: EFDbProvider.EntityFrameworkCore, 2.1.1"
#:package EFDbProvider.EntityFrameworkCore@2.1.1
#addin nuget:?package=EFDbProvider.EntityFrameworkCore&version=2.1.1
#tool nuget:?package=EFDbProvider.EntityFrameworkCore&version=2.1.1
更新ef core 2.1。更新 Pomelo.EntityFrameworkCore.MySql 到 2.1.1
针对EfCore的仓储实现。EF+工作单元+Ado.Net。 特点: 1)每一个仓储实例就是一个工作单元,执行完数据库操作后统一提交数据,不用另外开关事务; 2)EF常规操作; 3)执行Sql语句查询返回DataTable并翻页; 4)Ado.Net执行Sql语句,并与仓储实例在同一个事务内。
如何使用? 1、创建DbContext。例如叫 MsSqlContext 2、创建仓储接口。例如叫 IRepositoryStore
public interface IRepositoryStore : IRepositoryBaseStore<DbContext>
{
//如果自带的接口不能满足需求,则在此处扩展接口
}
3、实现仓储接口。例如叫 RepositoryStore
public class RepositoryStore : RepositoryBaseStore<DbContext>, IRepositoryStore
{
public RepositoryStore(MsSqlContext context) : base(context)
{
}
}
4、所有的实体类都要继承IEntity接口,并且属性打上NotMapped标签
public class Model1 : IEntity
{
public int Id { get; set; }
//...
[NotMapped]
public object EfKeyId => Id;
}
5、在startup中注入仓储 services.AddDbContextPool<MsSqlContext>(options ⇒ { options.UseSqlServer(connectionString); }) .AddScoped<IRepositoryStore, RepositoryStore>();
6、使用 获取到仓储实例。
dbStore.Add(model1); dbStore.Update(model2);
//获取 DbContext var context = dbStore.Context;
//获取Ado.Net操作类,此操作类和dbStore是在同一个事务中。 var sqlHelper = dbStore.Context.SqlHelper();
//其他的操作
//最后再统一提交数据 var result = await dbStore.CommitAsync();
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- EFCore.BulkExtensions (>= 2.1.4)
- EFDbProvider (>= 2.1.1)
- Microsoft.EntityFrameworkCore (>= 2.1.1)
- Microsoft.EntityFrameworkCore.Design (>= 2.1.1)
- Microsoft.EntityFrameworkCore.Relational (>= 2.1.1)
- Microsoft.EntityFrameworkCore.Sqlite (>= 2.1.1)
- Microsoft.EntityFrameworkCore.Sqlite.Design (>= 1.1.6)
- Microsoft.EntityFrameworkCore.SqlServer (>= 2.1.1)
- Microsoft.EntityFrameworkCore.Tools (>= 2.1.1)
- Pomelo.EntityFrameworkCore.MySql (>= 2.1.1)
- Pomelo.EntityFrameworkCore.MySql.Design (>= 1.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|