powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите современную реализацию Unit of Work + EF.
21 сообщений из 96, страница 4 из 4
Подскажите современную реализацию Unit of Work + EF.
    #39352997
Фотография Смузи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рефакторинг.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353003
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ищу реальный пример паттерна UOW реализованном через EF, поддерживающий транзакционность.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353008
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fungus,

ничего что реальный пример это десятки файлов? IoC, Interceptors, Attributes, UoW, Aggregate Roots, Repositories, Entities и их интерфейсы.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353014
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FungusСмузи,

Вы конечно все хорошо пишете. Про то, что UOW есть в самом EF. Но вот по транзациям не ясно как быть. Кто их должен стартовать и потом передавать управление сервисам, работающим с репозиториям.
Я уж не затрагиваю тестирование и IOC.
транзакции стартует и передает тот кто работает уровнем выше, ясно же
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353017
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Var79,

Ничего :) именно наличие реального, пусть сложного, проекта и поможет понять суть. Только рад буду именно что сложному. А то читать книги, статьи про паттерны это одно, а сварить это все вместе, в не-учебном приложении, совсем другое.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353024
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FungusНо сервисы это и есть бизнес логика в моем понимании.
неправильное понимание
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353027
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Var79FungusНо сервисы это и есть бизнес логика в моем понимании.
неправильное понимание

FungusНу ок. Я не претендую. Я ищу реальный пример :)
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353030
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FungusVar79,

Ничего :) именно наличие реального, пусть сложного, проекта и поможет понять суть. Только рад буду именно что сложному. А то читать книги, статьи про паттерны это одно, а сварить это все вместе, в не-учебном приложении, совсем другое.

там ничего сложного нет, просто много простых объектов, например десять.
допустим покажу тебе код, но на объяснения уйдет время, мне что с того будет?
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353038
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Var79,

По факту объяснения не нужна. Нужен просто проектик, в котором есть EF, репы, Сервисы, бизнес логика, и все это обернуто в UOW. Думаю я и без объяснений все пойму.

А Вам на это будет на сок/пиво :) Если вы не против, то напишите на мою почту FungusMail@yandex.ru что бы вас устроило - в замен проекта, где применены эти интересные паттерны в боевых условиях.

Мне это нужно лично самому, чтобы повысить уровень знаний. А то вот паттерны читаю, понимаю. А как все вместе, то плаваю.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353054
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fungus,

написал
у меня в профиле есть мыло
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353291
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FungusЧто она из себя представляет и в чем ее отличие от сервисов ?

бизнес логика - это и есть сервисы
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353293
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FungusЕсли приложение разбито на разные DLL, у которых свои сущности. То у этих DLL должны же быть свои собственные DbContext ?

если они обращаются к разным БД. иначе зачем? пусть будет один
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353294
Перегонщик перекупки
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Var79засуньте в UoW список тех DbContext-ов которые в данном вызове сервиса использует метод бизнес логики, измините код UoW что бы он пробежался по этому списку и у всех DbContext-ов сделал SaveChanges

и что это за транзакция будет?
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353495
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перегонщик перекупкиFungusЧто она из себя представляет и в чем ее отличие от сервисов ?

бизнес логика - это и есть сервисы

тссс. меня тут чуть не побили, когда я такое сказал выше :)
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353498
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Перегонщик перекупкиVar79засуньте в UoW список тех DbContext-ов которые в данном вызове сервиса использует метод бизнес логики, измините код UoW что бы он пробежался по этому списку и у всех DbContext-ов сделал SaveChanges

и что это за транзакция будет?

Вот кстати соглашуть. Какая-то ручная транзакция. Которую нужно реализовать самому, и учесть всякие исключения. Вообще есть такое понятие как distributed transaction coordinator, может быть его можно как-то задействовать. Но все равно это будут какие-то велосипеды.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353604
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FungusПерегонщик перекупкипропущено...


и что это за транзакция будет?

Вот кстати соглашуть. Какая-то ручная транзакция. Которую нужно реализовать самому...
Повод задуматься над тем, а нужна-ли вообще тут транзакция.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39353664
Var79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перегонщик перекупкиFungusЕсли приложение разбито на разные DLL, у которых свои сущности. То у этих DLL должны же быть свои собственные DbContext ?

если они обращаются к разным БД. иначе зачем? пусть будет один
авторбаза данных AdventureWorks содержит схемы для Production, Sales и HumanResources,разве не кандидаты на разные DbContext-ы ?
поскольку БД одна - распределенной транзакции не будет.
Вообще проще обойтись 1м DbContext, наверное, во всяком случае больше двух на практике я не встречал.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39354017
Fungus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Офтопичек.
Помнится пару лет назад у "Алексей К" было полноценное приложение, которым он делился для обучения новичков: 15313352
на нем был полный пример WPF приложения.Все по феншую и MVVMую но без EF кажется. Вот хорошо бы найти где-то такое же, но для EF, UOW и т.д.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39439515
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня вот такой вопрос назрел по UOW. Вот такое вот решение это Service Locator? или нет?
взято вот отсюда : https://metanit.com/sharp/mvc5/23.3.php


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
public class UnitOfWork : IDisposable
{
    private OrderContext db = new OrderContext();
    private BookRepository bookRepository;
    private OrderRepository orderRepository;
 
    public BookRepository Books
    {
        get
        {
            if (bookRepository == null)
                bookRepository = new BookRepository(db);
            return bookRepository;
        }
    }
 
    public OrderRepository Orders
    {
        get
        {
            if (orderRepository == null)
                orderRepository = new OrderRepository(db);
            return orderRepository;
        }
    }
 
    public void Save()
    {
        db.SaveChanges();
    }
 
    private bool disposed = false;
 
    public virtual void Dispose(bool disposing)
    {
        if (!this.disposed)
        {
            if (disposing)
            {
                db.Dispose();
            }
            this.disposed = true;
        }
    }
 
    public void Dispose()
    {
        Dispose(true);
        GC.SuppressFinalize(this);
    }
}
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39439526
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Артем G, нет, это не Service Locator.
...
Рейтинг: 0 / 0
Подскажите современную реализацию Unit of Work + EF.
    #39439548
Артем G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
skyANAАртем G, нет, это не Service Locator.

спасибо за ответ. буду знать.
почитал про сервис локатор и чем-то напомнила такая реализация его. как будто бы он.
кстати погуглил почему способо выше плохой и нашел вот это.

Point 1
This approach leads to opaque dependencies.
Point 2
This violates the Open/Closed principle.
Point 3
This violates the Single Responsibility Principle.
Point 4
This approach uses nominal abstraction which is semantically coupled with Entity Framework.
...
Рейтинг: 0 / 0
21 сообщений из 96, страница 4 из 4
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Подскажите современную реализацию Unit of Work + EF.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]