У меня есть следующий код, который я смог собрать, посмотрев на несколько разных источников в Интернете, однако ниже на самом деле выбрасывает исключение нулевой ссылки в нижней строке.Как выполнить соединение или разместить предложение where в отношении или предварительной выборке? (LLBLGen)
GroupAgentEntity agent = new GroupAgentEntity();
RelationPredicateBucket pred = new RelationPredicateBucket();
pred.PredicateExpression.Add(PredicateFactory.CompareValue(GroupAgentFieldIndex.GroupId, ComparisonOperator.Equal, groupId));
pred.PredicateExpression.Add(PredicateFactory.CompareValue(GroupAgentFieldIndex.IsPrimary, ComparisonOperator.Equal, true));
pred.PredicateExpression.Add(PredicateFactory.CompareValue(GroupAgentFieldIndex.BeginDate, ComparisonOperator.LessEqual, DateTime.Now));
pred.PredicateExpression.Add(PredicateFactory.CompareNull(GroupAgentFieldIndex.EndDate));
pred.Relations.Add(GroupAgentEntity.Relations.AgentSplitGroupEntityUsingAgentSplitGroupId);
IPredicateExpression preFilter = new PredicateExpression(AgentSplitGroupFields.Name == "Broker");
PrefetchPath2 pre = new PrefetchPath2((int)EntityType.AgentSplitGroupEntity);
pre.Add(AgentSplitGroupEntity.PrefetchPathAgentSplitGroup, 0, preFilter);
if (deep)
{
pre.Add(GroupAgentEntity.PrefetchPathBroker);
pre.Add(GroupAgentEntity.PrefetchPathCarrierBroker);
}
this.DataAdapter.FetchEntityUsingUniqueConstraint(agent, pred.PredicateExpression, pre);
То, что я пытаюсь сделать, это присоединиться из таблицы GroupAgent к столу AgentSplitGroup, а также упреждающий объект типа AgentSplitGroupEntity. К сожалению, мой опыт работы с LLBLGen довольно ограничен (особенно когда речь идет о предикатных выражениях).
Не могли бы вы представить какие-либо идеи относительно того, почему приведенный выше код выбрасывает исключение нулевой ссылки в нижней строке? Это, или если кто-то может помочь мне выполнить запрос, который мне нужен по-другому (но все еще использую предикатные выражения), я бы очень признателен ему.
Обратите внимание, что я сделал очевидную вещь и проверил параметры, идущие в FetchEntityUsingUniqueConstraint (...) во время выполнения, и ни один из них не является нулевым.
Я прошел мимо этого пару недель назад, но если я правильно помню, когда я, наконец, смог Держась за моего босса, он сказал, что я ошибаюсь в своей предвыборке. К сожалению, я не помню, какой метод этот код был, чтобы проверить ваш код ответа на 100%, но я уверен, что вы правы, поэтому я принимаю ваш ответ. Спасибо. :) – KSwift87