альтернатива для hasura \ firebase, но для. net c# stack - PullRequest
0 голосов
/ 06 мая 2020

Я ищу решение ORM с автоматическим распространением c изменений от сервера к клиентам, как в Hasura \ Firabase, но специально для C#. NET стека и (возможно). NET на клиенте, как в случае с Blazor . Все, что я финансирую, - это незавершенные привязки SignalR или Firebase низкого уровня. Есть ли лучший способ для. NET?

1 Ответ

0 голосов
/ 06 мая 2020

Вы должны иметь возможность использовать Hasura и ее подписки в C#. NET с Blazor на клиенте через GraphQL Do tnet Клиент:

https://github.com/graphql-dotnet/graphql-client/blob/master/SubscriptionIntegrationTest.ConsoleClient/Program.cs

Я считаю, что вам просто нужно будет отправлять события подписки на клиентскую сторону Blazor в обработчиках подписки.

В остальном вы можете создать свою собственную, используя такую ​​библиотеку:

https://github.com/NickStrupat/EntityFramework.Triggers

public class MyContext : DbContextWithTriggers {
    public DbSet<Person> People { get; set; }
}
var mycontext  = new MyContext() { TriggersEnabled = true };
Triggers<Person>.Inserting += entry =>
{
    Console.WriteLine($"Person: {entry.Entity}");
};

Или путем развертывания пользовательской реализации с использованием класса ObservableCollection:

https://docs.microsoft.com/en-us/dotnet/api/system.collections.objectmodel.observablecollection-1

...