2013-05-06 12 views
12

mam jedną klasę podmiot jakoKlasa nieruchomości nie zostać uwzględnione jako kolumny bazy danych SQLite

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

i przy użyciu sqlite połączenie klasy obj DB tworzę tabelę

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

Co chcę osiągnąć jest , Nie chcę, aby sqlite tworzył kolumnę w tabeli dla property3. Czy jest jakiś sposób, aby to osiągnąć?

Używam biblioteki SQLiteAsync do przechowywania aplikacji Windows.

+0

myślę, że nie może, bo nie ma sposobu, aby utworzyć tabelę przy użyciu nazwy kolumn. W tej chwili mamy tylko metodę, która przekazuje nazwę klasy jako argument. – Xyroid

Odpowiedz

30

Można użyć atrybutu Ignore:

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

Twoja odpowiedź została przyjęta dzięki –

+0

Jak zdefiniować relację między dwiema tabelami? http://stackoverflow.com/questions/16539683/relational-sqlite-on-windows-rt – hendrix

+4

Wielkie dzięki. Jest rok 2016 i twoja odpowiedź zdecydowanie mi pomogła. – codeshinobi

6

Jak chue x powiedział wcześniej, należy użyć atrybutu Ignoruj, ale pomyślałem, że dam trochę więcej informacji o tym, co wszystkie atrybuty zrobić od wydaje się, że niektóre informacje byłyby przydatne w tym wątku.

Oto krótkie podsumowanie typów atrybutów dostępnych do użytku (dla tych z was, którzy nie lubią czytać i po prostu chcą szybko znać):

PrimaryKey - Ta właściwość jest klucz podstawowy stół. Obsługiwane są tylko klucze podstawowe z jedną kolumną.

AutoInkrement - Ta właściwość jest automatycznie generowana przez bazę danych po wstawieniu.

Indeksowana - Ta właściwość powinna mieć utworzony indeks dla niej.

Maksymalna długość - Jeśli ta właściwość jest ciągiem, wówczas do określenia maksymalnego rozmiaru varchar używana jest wartość maksymalna. Domyślna maksymalna długość to 140.

Ignoruj ​​ - Ta właściwość nie będzie w tabeli.

Jeśli chcesz dowiedzieć się więcej, sprawdź mój bardziej w głębi blogu na tych atrybutów:

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

Powiązane problemy