2013-05-06 20 views
12

tôi có một lớp thực thể nhưLớp Bất động sản Không được bao gồm như là cột cơ sở dữ liệu SQLite

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

và sử dụng SQLite kết nối lớp obj DB tôi đang tạo ra bảng

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

Những gì tôi muốn đạt được là , Tôi không muốn sqlite tạo cột trong bảng cho property3. Có bất kì cách nào để đạt được điều này không?

Tôi đang sử dụng thư viện SQLiteAsync cho các ứng dụng lưu trữ cửa sổ.

+0

Tôi nghĩ rằng bạn không thể vì không có phương pháp để tạo bảng sử dụng tên cột. Ngay bây giờ chúng ta chỉ có một phương thức chuyển tên lớp thành đối số. – Xyroid

Trả lời

30

Bạn có thể sử dụng Ignore thuộc tính:

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

Câu trả lời của bạn được chấp nhận nhờ –

+0

Và làm thế nào để bạn xác định mối quan hệ giữa hai bảng? http://stackoverflow.com/questions/16539683/relational-sqlite-on-windows-rt – hendrix

+4

Cảm ơn rất nhiều bạn. Đó là năm 2016 và câu trả lời của bạn chắc chắn đã giúp tôi. – codeshinobi

6

Như chue x đã nói trước đây, bạn nên sử dụng thuộc tính Bỏ qua, nhưng tôi figured tôi sẽ cung cấp cho một chút thông tin như những gì tất cả các thuộc tính làm từ có vẻ như một số thông tin hữu ích trong chuỗi này.

Dưới đây là một bản tóm tắt nhanh chóng của các loại thuộc tính có sẵn để sử dụng (đối với những người bạn mà không thích đọc và chỉ muốn biết một cách nhanh chóng):

PrimaryKey - Khách sạn này là chìa khóa chính của cai ban. Chỉ hỗ trợ các khóa chính một cột.

AutoIncrement - Thuộc tính này được tạo tự động bởi cơ sở dữ liệu khi chèn.

Được lập chỉ mục - Thuộc tính này phải có chỉ mục được tạo cho nó.

MaxLength - Nếu thuộc tính này là Chuỗi thì MaxLength được sử dụng để chỉ định kích thước tối đa varchar. Độ dài tối đa mặc định là 140.

Bỏ qua - Thuộc tính này sẽ không nằm trong bảng.

Nếu bạn muốn tìm hiểu thêm, hãy kiểm tra sâu hơn trong bài viết trên blog của tôi trên những thuộc tính này:

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