Помогите сделать запрос INNER JOIN

Добрый день,
помогите соединить таблицы Application и Contact. Выходит ошибка

EntitySchemaQuery query = new EntitySchemaQuery(UserConnection.EntitySchemaManager, "Application");
var param1 = query.CreateFilterWithParameters(FilterComparisonType.Equal, "par1", par1);

query.Filters.Add(param1);

query.PrimaryQueryColumn.IsAlwaysSelect = true;
query.AddColumn("FirstName");
query.AddColumn("FamilyName");
query.AddColumn("Number");
query.AddColumn("=Contact.Name");

var list = query.GetEntityCollection(UserConnection);
Listobject> Applications = new Listobject>();
foreach (var item in list)
{
    var Application = new
    {
        FirstName = item.GetTypedColumnValuestring>("FirstName"),
        FamilyName = item.GetTypedColumnValuestring>("FamilyName"),
        Number = item.GetTypedColumnValuestring>("Number"),
                Contact_Name = item.GetTypedColumnValuestring>("Contact.Name")
                       
    };
    Applications.Add(Application);
}
ApplicationList = Applications;
return true;

Нравится

3 комментария

Добрый день.

Попробуйте так:

var FirstNameColumn = query.AddColumn("FirstName");
...
FirstName = item.GetTypedColumnValue(FirstNameColumn),

либо

FirstName = item.GetColumnValue(FirstNameColumn),

Также не плохо было бы указать ошибку, которая возникает.

Хорошего дня!

Добрый день,
не так и не так не работает
пишет поля такого нет
второй вариант вообще не компилится

у меня второй вопрос
почему при подключении к сервису выходит такая ошибка
var context = new BPM.BPMonline(dataSeviceUri);
context.Credentials = new NetworkCredential("Supervisor", "Supervisor");
try
{
DataServiceQuery allContacts = context.CurrencyCollection;
foreach (BPM.Currency contact in allContacts)
{
listBox1.Items.Add(contact.Name);
}
}
catch (Exception ex)
{
textBox1.Text = ex.Message;
}

<?xml version="1.0" encoding="utf-8" standalone="yes"?>5Текущий пользователь не имеет прав на объект "Currency"Текущий пользователь не имеет прав на объект "Currency"System.Security.SecurityException в Terrasoft.Core.Entities.Services.EntityDataService.CheckResourcesRights(IEnumerable`1 queryResources, String requestMethod)&#xD;
в Terrasoft.Core.Entities.Services.EntityDataService.OnStartProcessingRequest(ProcessRequestArgs args)&#xD;
в System.Data.Services.DataService`1.ProcessIncomingRequestUri()&#xD;
в System.Data.Services.DataService`1.HandleRequest()

Здравствуйте.

По первой проблеме - у Вас где-то ошибка. Можно прикрепить схему, в которой Вы выполняете запрос ESQ?
По второй - вы делаете запрос к объекту "Currency". Данный объект у Вас администрируется по операциям? Какие права у пользователя установлены?

Показать все комментарии