Множественные объединения одного и того же типа в PetaPocoC#

Место общения программистов C#
Ответить
Anonymous
 Множественные объединения одного и того же типа в PetaPoco

Сообщение Anonymous »

Вопрос:
Я пытаюсь использовать PetaPoco для объединения более четырех таблиц и заполнения объекта типа A пятью членами типа B (очень похоже на этот вопрос: https) //stackoverflow.com/a/11275334/296296). Судя по тому, что я прочитал, можно было бы использовать этот синтаксис:

Код: Выделить всё

var result = db.Query(new System.Type[] { typeof(Investment), typeof(Person), typeof(Person), typeof(Person), typeof(Person), typeof(Person) }, null, sql, null).FirstOrDefault();
Где находится sql:

Код: Выделить всё

        SELECT Investment.*, p1.*, p2.*, p3.*, p4.*, p5.* FROM Investment
INNER JOIN People p1 ON Investment.OwnerID = p1.Id
INNER JOIN People p2 ON Investment.ITOwnerID = p2.Id
INNER JOIN People p3 ON Investment.InformationOwnerId = p3.Id
INNER JOIN People p4 ON Investment.MaintenanceLeaderId = p4.Id
INNER JOIN People p5 ON Investment.MaintenanceLeaderITId = p5.Id
WHERE (Investment.Id = @0)
Но выдает следующую ошибку:

Невозможно автоматически присоединиться к человеку, поскольку у инвестиций более одного свойство типа Person

Кто-нибудь сталкивался с такой же проблемой или мог чем-то помочь?
Справочная информация:
У меня есть следующее (упрощенные) таблицы базы данных:

Код: Выделить всё

Investment
--------------
Id
Name
OwnerId
ITOwnerId
InformationOwnerId
MaintenanceLeaderId
MaintenanceLeaderITId

People
--------------
Id
Name
Классы, с которыми я хотел бы сопоставить эти таблицы базы данных:

Код: Выделить всё

 Public class Investment {
public int Id
public string Name
public Person Owner
public Person ITOwner
public Person InformationOwner
public Person MaintenanceLeader
public Person MaintenanceLeaderIT
}

Public class Person {
public int Id
public string Name
}
Для этого мне нужно объединить таблицу People для каждого типа Person в классе Investment и сопоставить их с соответствующим свойством как экземплярами типа Person.>

Подробнее здесь: https://stackoverflow.com/questions/114 ... n-petapoco
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»