запрос в EntityObject - PullRequest
       1

запрос в EntityObject

0 голосов
/ 12 декабря 2011

У меня есть частичный класс TaxReportItem с частичным методом OnActualVolumeChanging (double value):

public partial class TaxReportItem 
{
      partial void OnActualVolumeChanging(double value)
     {
        if (Tax != null)
        {
            Payment = value*Tax.TaxRate;
        }
    }
}

В этом методе я хочу получить всю коллекцию TaxReportItems, которая присутствует в контексте (что-то вроде этого):

  partial void OnActualVolumeChanging(double value)
    {
        var sum = 0.0;
        if (Tax != null)
        {
            Payment = value*Tax.TaxRate;

            foreach (var taxReportItem in ????)
            {
                sum += taxReportItem.Sum;
            }
        }
    }

Как мне этого добиться?

1 Ответ

1 голос
/ 12 декабря 2011

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

Чтобы ответить на ваш вопрос.Если вам нужно загрузить другие элементы, у вас должен быть экземпляр контекста для этого.Вы можете либо получить экземпляр , используемый для загрузки текущего элемента , и использовать его для загрузки других объектов (плохое решение), либо вы можете создать новый экземпляр контекста и использовать его для загрузки других объектов (еще хуже решение).

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...