2011-08-25 13 views
5

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)

Odpowiedz

Powiązane problemy