Class Property Not be included as sqlite database column

18,423

Solution 1

You can use the Ignore attribute:

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

Solution 2

As chue x has said previously, you should use the Ignore attribute, but I figured I would give a bit more information as to what all the attributes do since it seems like some information that would be useful in this thread.

Here's a quick summary of the types of attributes available for use (for those of you that don't like reading and just want to know quickly):

PrimaryKey - This property is the primary key of the table. Only single-column primary keys are supported.

AutoIncrement - This property is automatically generated by the database upon insert.

Indexed - This property should have an index created for it.

MaxLength - If this property is a String then MaxLength is used to specify the varchar max size. The default max length is 140.

Ignore - This property will not be in the table.

If you want to know more, check out my more in depth blog post on these attributes:

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

Share:
18,423
Shafqat Masood
Author by

Shafqat Masood

Updated on June 02, 2022

Comments

  • Shafqat Masood
    Shafqat Masood almost 2 years

    I have one entity class as

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

    and using sqlite connection class obj DB I am creating the table

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

    What I want to achieve is, I don't want sqlite to create column in the table for property3. Is there any way to achieve this?

    I am using SQLiteAsync library for windows store apps.