Mam tabelę zawierającą ogłoszenia o usługach. Dla tej tabeli mam POCO 1: 1 - oprócz tego, że zawiera ono jedno dodatkowe pole. W moim zapytaniu jest to połączona nazwa użytkownika autora, tabela zawiera tylko identyfikator autora.Czy źle zrozumiałem PetaPoco.IgnoreAttribute?
Pomyślałem, że mogę po prostu użyć atrybutu [Ignore]
w tym polu, a następnie móc bez problemu używać POCO do wstawiania/aktualizowania? Mój problem polega na tym, że z atrybutem [Ignore]
, pole BrukerNavn
nie jest wypełnione. I bez atrybutu przechodzi na wstawianie/aktualizację.
[TableName("tblDriftsmelding")]
[PrimaryKey("DriftID")]
public class Driftsmelding
{
public int DriftID { get; set; }
[Column("tittel")] public string Tittel { get; set; }
public string Tekst { get; set; }
public string HTMLTekst { get; set; }
[Column("gyldigfra")] public DateTime? Fra { get; set; }
[Column("gyldigtil")] public DateTime? Til { get; set; }
[Column("publisert")] public bool Publisert { get; set; }
[Column("CreatedBy")] public int? BrukerID { get; set; }
public string BrukerNavn { get; set; }
}
To jest POCO. Tabela jest mapowaniem 1: 1, z wyjątkiem pola "BrukerNavn" na końcu.
select d.DriftID, d.Tekst, d.Created, d.gyldigtil, d.gyldigfra, d.publisert, d.tittel, d.HTMLTekst, d.createdby, b.brukerident as BrukerNavn
from tblDriftsmelding d
left outer join tblbruker b on d.CreatedBy = b.brukerid
order by DriftID desc
To jest zapytanie, które podaje POCO. (Próbowałem również używając select d.*, b.brukerid
. Nie ma różnicy)
(Uwaga, rzeczywiste pytanie jest śmiały w powyższym tekście, ponieważ rodzaj ale przeplata się z resztą tekstu)