C#, Winforms & LINQ к SQL.. Жизненный цикл Datacontext?

У меня была такая же проблема несколько дней назад,

Вы должны иметь 'стратегии' => 'выбрать' в вашем BelongTo, чтобы присоединиться к другой базе данных

 $this->belongsTo('Users', [
        'strategy' => 'select'
        'foreignKey' => 'created_by',
        'joinType' => 'INNER'
    ]);
5
задан tereško 17 November 2013 в 17:33
поделиться

4 ответа

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

Мы создали оболочку приложения, которая загружает формы так же в модель запроса/ответа.

Я создал a IRenderer интерфейс с a RenderView() метод, который я реализовал для сети и для форм окон. Это позволяет мне использовать тот же контроллер и модель для обоих. Поиск Model-View-ViewModel (MVVM) на положительном герое и можно найти что-то об этом подходе.

Я думаю, что эта статья может помочь Вам понять то, о чем я говорю.

2
ответ дан 14 December 2019 в 19:28
поделиться

Если Вы думаете для выбора между наличием долговечного DataContext (например, как Singleton в приложении) или наличием недолговечного DataContexts, я выбрал бы второе. Я был бы новый () DataContext для каждой "Единицы работы", и удостоверьтесь, что поддержали ее в течение максимально короткого периода. Создание нового DataContext не является большой проблемой, так как они кэшируют метаданные так или иначе. Наличие долговечного DataContext дает Вам определенный кошмар, когда это начинает отслеживать ко многим объектам.

3
ответ дан 14 December 2019 в 19:28
поделиться

Проблема только с наличием одного datacontext для всего состоит в том, что Вы не можете иметь нескольких открытых редактирований и только фиксировать то. Для большого количества прикладных моделей это - обреченное на неудачу. Поэтому я имею один одиночный элемент datacontext для чтений и создаю один для каждого действия фиксации. Функция обновления отсоединяет объекты, которые будут сохранены от чтения datacontext, и присоединяет их к новой фиксации datacontext, затем выполняет изменения DC.Submit.

Единственная хитрая вещь имеет способ отслеживать то, если объект должен быть обновлен на, отправляют, или вставленный на отправляют, и если Вы имеете стандартный автоматический цифровой первичный ключ или управляете в наборе где-нибудь, какой столбец должен служить проверкой, для которого класса для вставки по сравнению с обновлением, это довольно тривиально для преодоления.

0
ответ дан 14 December 2019 в 19:28
поделиться

Я знаю, что эта ветка устарела, но в unhaddins у нас есть реализация Conversation-per-BusinessTransaction. В настоящее время у нас есть реализация только для nhibernate, но реализация ее для Linq в sql или entity framework должна быть простой. Посмотрите мой ответ в этом списке .

0
ответ дан 14 December 2019 в 19:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: