Код: Выделить всё
ID (int)
Name (varchar 50)
...
public class Business
{
public int ID { get; set; }
public string Name { get; set; }
// ...
}
Код: Выделить всё
ID (int)
Name (varchar 50)
PrimaryBusinessID (int)
SecondaryBusinessID (int)
IsActive (bit)
...
public class Owner
{
public int ID { get; set; }
public string Name { get; set; }
public int PrimaryBusinessID { get; set; }
public int? SecondaryBusinessID { get; set; }
public bool IsActive { get; set; }
// ...
}
< /code>
В SQL, который уже существует для этой системы, мы пытаемся найти активных владельцев. И бизнес может иметь первичного или второстепенного владельца. Тем не менее, это соединение выполняется на стороне владельца
FROM Business B
LEFT OUTER JOIN
(SELECT PrimaryBusinessID, SecondaryBusinessID
FROM Owner
WHERE IsActive = 1) AS O ON B.ID = O.PrimaryBusinessID
OR B.ID = O.SecondaryBusinessID
< /code>
Опять же, хотя я думаю, что этот SQL и схема должны быть обновлены и работают над тем, что я не могу сделать. Поэтому я стараюсь оставаться «правдой» к тому, что было написано раньше, и все еще получить те же результаты через ядро рамки Entity.
Подробнее здесь: https://stackoverflow.com/questions/795 ... key-values