EF - połączony widok z dwóch tabel i wyszukiwanie

0

Takie zagadnienie. Mam tabelę w której są wszystkie możliwe obiekty w postaci

{int ID, string NumerSeryjny},

a kolejna tabela zawiera dodatkowe informacje na temat wybranych obiektów

{int ID, string NumerSeryjny, string Dodatkowe}.

Problem polega tym, że interesują mnie wszystkie obiekty z pierwszej tabeli oraz dodatkowe informacje z drugiej i dodatkowo chciałbym móc wyszukiwać zarówno po numerze seryjnym jak i informacjach z drugiej tabeli. Druga tabela jest podzbiorem pierwszej uzupełniona o dodatkowe dane i nie wiem jak to ugryźć sprytnym LINQiem.

Pomożecie?

K

0
tab1
     .Select(t => New { ID = t.ID,  NumerSeryjny = t.NumerSeryjny })
     .Union(tab2)
     .Distinct()
     .Where( tu zapytanie )

Polecam poczytać o Linq - to może pomóc w rozwiązaniu problemu.

Pozdrawiam
PS: to tylko pseudokod, pisany na telefonie z pamięci :)

1

Ogólnie to masz to źle zbudowane. DbContext powinien być utworzony następująco:

public class SerialNumberDbo
{
  public Guid Id {get;set;}
  public string SerialNumber {get;set;}
}
public class SerialNumberDescriptionDbo
{
  public Guid Id {get;set;}
  public Guid SerialNumberDboId {get;set;}
  public virtual SerialNumberDbo SerialNumberDbo {get;set;}
  public string Description {get;set;}
}

Następnie przeszukujesz:

var result = _dbContext.SerialNumberDescriptionDbos
  .Include(x => x.SerialNumberDbo)
  .Where(x => x.Description == "abc" && x.SerialNumberDbo.SerialNumber == "123");

1 użytkowników online, w tym zalogowanych: 0, gości: 1