2013-05-06 11 views
12

ho una classe di entità comeClasse Proprietà non essere incluso come colonna del database SQLite

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

e l'utilizzo di SQLite collegamento classe obj DB sto creando il tavolo

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

Quello che voglio raggiungere è , Non voglio sqlite per creare la colonna nella tabella per property3. C'è un modo per raggiungere questo obiettivo?

Sto utilizzando la libreria SQLiteAsync per le app di Windows Store.

+0

penso che non è possibile perché non c'è nessun metodo per creare tabella utilizzando nomi di colonna. In questo momento abbiamo solo un metodo che passa il nome della classe (s) come argomento. – Xyroid

risposta

30

È possibile utilizzare l'attributo Ignore:

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

la tua risposta è stata accettata grazie –

+0

E come si definisce la relazione tra due tabelle? http://stackoverflow.com/questions/16539683/relational-sqlite-on-windows-rt – hendrix

+4

Grazie mille ragazzi. È il 2016 e la tua risposta mi ha sicuramente aiutato. – codeshinobi

6

Come Chue x è detto in precedenza, è necessario utilizzare l'attributo Ignora, ma ho pensato darei un po 'più informazioni su ciò che tutti gli attributi fanno dal sembra alcune informazioni che potrebbero essere utili in questa discussione.

Ecco un breve riassunto dei tipi di attributi disponibili per l'uso (per quelli di voi che non amano la lettura e si desidera conoscere rapidamente):

PrimaryKey - Questa proprietà è la chiave primaria della la tavola. Sono supportate solo le chiavi primarie a singola colonna.

AutoIncrement - Questa proprietà viene generata automaticamente dal database al momento dell'inserimento.

indicizzato - A questa proprietà deve essere stato creato un indice.

MaxLength - Se questa proprietà è una stringa, MaxLength viene utilizzato per specificare la dimensione massima varchar. La lunghezza massima predefinita è 140.

Ignora - Questa proprietà non sarà nella tabella.

Se volete saperne di più, date un'occhiata al mio più in profondità blog post su questi attributi:

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

Problemi correlati