类属性不包括在sqlite数据库列中

时间:2013-05-06 12:02:55

标签: c# sqlite windows-runtime windows-store-apps sqlite-net

我有一个实体类

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

并使用sqlite连接类obj DB我正在创建表

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

我想要实现的是,我不希望sqlite在property3的表中创建列。有没有办法实现这个目标?

我正在为Windows商店应用程序使用SQLiteAsync库。

2 个答案:

答案 0 :(得分:48)

您可以使用Ignore属性:

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

答案 1 :(得分:8)

正如chue x之前所说,你应该使用Ignore属性,但我想我会提供更多关于所有属性的信息,因为它似乎是一些在这个线程中有用的信息。

以下是可供使用的属性类型的快速摘要(对于那些不喜欢阅读并且想要快速了解的人):

PrimaryKey - 此属性是表的主键。仅支持单列主键。

AutoIncrement - 插入时数据库会自动生成此属性。

已编入索引 - 此属性应为其创建索引。

MaxLength - 如果此属性是String,则MaxLength用于指定varchar max size。默认最大长度为140。

忽略 - 此属性不在表格中。

如果您想了解更多信息,请查看我更深入的博客文章,了解这些属性:

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