Epam.Kafka.PubSub.EntityFramework6
2.3.98-rc
Prefix Reserved
See the version list below for details.
dotnet add package Epam.Kafka.PubSub.EntityFramework6 --version 2.3.98-rc
NuGet\Install-Package Epam.Kafka.PubSub.EntityFramework6 -Version 2.3.98-rc
<PackageReference Include="Epam.Kafka.PubSub.EntityFramework6" Version="2.3.98-rc" />
paket add Epam.Kafka.PubSub.EntityFramework6 --version 2.3.98-rc
#r "nuget: Epam.Kafka.PubSub.EntityFramework6, 2.3.98-rc"
// Install Epam.Kafka.PubSub.EntityFramework6 as a Cake Addin #addin nuget:?package=Epam.Kafka.PubSub.EntityFramework6&version=2.3.98-rc&prerelease // Install Epam.Kafka.PubSub.EntityFramework6 as a Cake Tool #tool nuget:?package=Epam.Kafka.PubSub.EntityFramework6&version=2.3.98-rc&prerelease
Epam.Kafka.PubSub.EntityFramework6
About
Epam.Kafka.PubSub.EntityFramework6 package provides entity framework 6 implementation for key abstractions defined in Epam.Kafka.PubSub.
Key Features
- Base abstract classes
DbContextSubscriptionHandler<TKey, TValue, TContext>
,DbContextEntitySubscriptionHandler<TKey, TValue, TContext TEntity>
to help with implementation ofISubscriptionHandler<TKey, TValue>
that read data from KAFKA topics and save it to database usingDbContext
. - Default implementation of
IExternalOffsetsStorage
that store offsets in database viaDbContext
.TryAddKafkaDbContextState
extension method to register it inIServiceCollection
. - Base abstract classes
DbContextPublicationHandler<TKey, TValue, TEntity, TContext>
andDbContextEntityPublicationHandler<TKey, TValue, TEntity, TContext>
to help with implementation ofIPublicationHandler<TKey, TValue>
that read data from database usingDbContext
and publish it to kafka topics.
How to Use
Store subscription offsets
Prepare context.
public class SampleDbContext : DbContext, IKafkaStateDbContext
{
public DbSet<KafkaTopicState> KafkaTopicStates => this.Set<KafkaTopicState>();
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.AddKafkaState();
}
}
Register services and setup topic partition assignment and offsets storage for subscription.
services.TryAddKafkaDbContextState<SampleDbContext>();
KafkaBuilder kafkaBuilder = services.AddKafka();
kafkaBuilder.AddSubscription<string, KafkaEntity, SubscriptionHandlerSample>("Sample")
.WithSubscribeAndExternalOffsets();
Publish data from database to kafka
Optionally derive entity from IKafkaPublicationEntity
interface to use default state management.
public class SamplePublicationEntity : IKafkaPublicationEntity
{
public KafkaPublicationState KafkaPubState { get; set; }
public DateTime KafkaPubNbf { get; set; }
}
Create publication handler derived from DbContextEntityPublicationHandler<TKey, TValue, TEntity, TContext>
for entity with default state management or from DbContextPublicationHandler<TKey, TValue, TEntity, TContext>
for custom state management.
Setup publication
KafkaBuilder kafkaBuilder = services.AddKafka();
kafkaBuilder.AddPublication<string, KafkaEntity, SamplePublicationHandler>("Sample");
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. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
.NET Framework | net462 is compatible. 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 | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- EntityFramework (>= 6.4.4)
- Epam.Kafka.PubSub (>= 2.3.98-rc)
-
.NETStandard 2.1
- EntityFramework (>= 6.4.4)
- Epam.Kafka.PubSub (>= 2.3.98-rc)
- System.Data.SqlClient (>= 4.8.6)
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 |
---|---|---|
2.3.146-rc | 62 | 10/1/2024 |
2.3.145 | 86 | 10/1/2024 |
2.3.143-rc | 68 | 9/25/2024 |
2.3.140 | 102 | 7/15/2024 |
2.3.138-rc | 64 | 7/15/2024 |
2.3.136-rc | 67 | 7/15/2024 |
2.3.129-rc | 75 | 7/11/2024 |
2.3.127-rc | 87 | 7/10/2024 |
2.3.119-rc | 81 | 7/9/2024 |
2.3.117-rc | 77 | 7/9/2024 |
2.3.114-rc | 83 | 7/8/2024 |
2.3.113-rc | 92 | 7/8/2024 |
2.3.109-rc | 85 | 7/8/2024 |
2.3.108-rc | 82 | 7/5/2024 |
2.3.104-rc | 87 | 6/28/2024 |
2.3.98-rc | 119 | 6/27/2024 |
2.3.96-rc | 95 | 6/26/2024 |
2.3.94-rc | 104 | 6/26/2024 |
2.3.92-rc | 86 | 6/25/2024 |
2.3.87-rc | 82 | 6/19/2024 |
2.3.85-rc | 90 | 6/19/2024 |
2.2.84 | 96 | 6/19/2024 |
2.2.80-rc | 77 | 6/17/2024 |
2.2.78-rc | 79 | 6/14/2024 |
2.2.61-rc | 85 | 6/11/2024 |
2.1.55 | 90 | 6/7/2024 |
2.1.52-rc | 85 | 6/7/2024 |
2.1.51-rc | 86 | 6/7/2024 |
2.1.49-rc | 84 | 6/6/2024 |
2.1.47-rc | 79 | 6/4/2024 |
2.1.45-rc | 79 | 6/4/2024 |
2.1.41-rc | 91 | 5/29/2024 |
2.1.38-rc | 82 | 5/29/2024 |