Объедините 2 таблицы в 1 классе, используя LINQ - PullRequest
0 голосов
/ 13 июля 2011

У меня есть 2 класса:

[Table(Name = "_Reference2")]
public class Customer
{
    [Column(Name = "_IDRRef")]
    public Binary CustomerRef { get; set; }
    [Column(Name = "_Description")]
    public string Name { get; set; }
}

[Table(Name = "_AccumReg2210")]
public class Payment
{
    [Column(Name="_Period")]
    public DateTime Period { get; set; }
    [Column(Name = "_Fld2211RRef")]
    public Binary Customer { get; set; }
    [Column(Name = "_Fld5051RRef")]
    public decimal Sum { get; set; }
}

Есть ли возможность объединить эти классы в 1 класс?Обычно мне нужно написать запрос witn JOIN (ON Customer.CustomerRef = Payment.Customer) для этих классов.Будет лучше реализовать сложный класс, связанный с обеими таблицами.

Ответы [ 3 ]

2 голосов
/ 13 июля 2011
var results = from c in Customers
              from p in Payments
              where p.Customer == c.CustomerRef
              select new ComplexObject() {
                 Name = c.Name,
                 ...
              };
0 голосов
/ 13 июля 2011

Я не уверен, относится ли это к нужному вам решению, но рассматривали ли вы простой класс CustomerPaymentViewModel?

public class CustomerPaymentViewModel
{
    public Customer { get; set; }
    public Payment { get; set; }
}
0 голосов
/ 13 июля 2011

Если вы не хотите явно объединять две таблицы с помощью Linq, вы можете создать представление в своей базе данных и сгенерировать модель с его помощью (используя LinqToSQL или Entities Framework)?

...