2013-05-06 4 views
12

Ich habe eine Entity-Klasse alsKlasse Eigenschaft, die nicht als SQLite-Datenbank-Spalte enthalten sein

public class someclass 
    { 
     public string property1 {get; set;} 
     public string property2 {get; set;} 
     public string property3 {get; set;} 
    } 

und mit SQLite Verbindungsklasse obj DB ich die Tabelle erschaffe

Db.CreateTableAsync<someclass>().GetAwaiter().GetResult(); 

Was ich erreichen will ist Ich möchte nicht SQLite Spalte in der Tabelle für property3 erstellen. Gibt es einen Weg, dies zu erreichen?

Ich verwende SQLiteAsync-Bibliothek für Windows Store-Apps.

+0

Ich denke, man kann nicht, weil es keine Methode die Tabelle mit Spaltennamen zu erstellen. Im Moment haben wir nur eine Methode, die den Klassennamen als Argument übergibt. – Xyroid

Antwort

30

Sie können das Ignore Attribut:

public class someclass 
{ 
    public string property1 { get; set; } 
    public string property2 { get; set; } 
    [Ignore] 
    public string property3 { get; set; } 
} 
+0

Ihre Antwort akzeptiert dank –

+0

Und wie definieren Sie die Beziehung zwischen zwei Tabellen? http://stackoverflow.com/questions/16539683/relational-sqlite-on-windows-rt – hendrix

+4

Vielen Dank Jungs. Es ist 2016 und deine Antwort hat mir definitiv geholfen. – codeshinobi

6

Wie chue x vorher gesagt hat, sollten Sie das Attribut Ignore verwenden, aber ich dachte, ich würde ein bisschen mehr Informationen geben, was alle Attribute tun, da Es scheint, als ob einige Informationen in diesem Thread nützlich wären.

Hier ist eine kurze Zusammenfassung der verschiedenen Arten von Attributen zur Nutzung (für diejenigen von Ihnen, die das Lesen nicht mögen und wollen einfach nur schnell wissen):

PrimaryKey - Diese Eigenschaft ist der Primärschlüssel Der Tisch. Nur einspaltige Primärschlüssel werden unterstützt.

AutoIncrement - Diese Eigenschaft wird beim Einfügen automatisch von der Datenbank generiert.

Indiziert - Für diese Eigenschaft sollte ein Index erstellt werden.

MaxLength - Wenn diese Eigenschaft eine Zeichenfolge ist, wird MaxLength zum Angeben der maximalen Varchar-Größe verwendet. Die maximale Standardlänge ist 140.

Ignorieren - Diese Eigenschaft ist nicht in der Tabelle enthalten.

Wenn Sie mehr wissen wollen, meinen mehr in der Tiefen Blog-Post Besuche auf diesen Attributen:

http://lukealderton.com/blog/posts/2016/august/sqlite-attributes-and-what-they-do.aspx

Verwandte Themen