29

我有一个实体类

  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 库。

4

2 回答 2

79

您可以使用以下Ignore属性:

public class someclass
{
    public string property1 { get; set; }
    public string property2 { get; set; }
    [Ignore]
    public string property3 { get; set; }
}
于 2013-05-06T12:45:07.677 回答
11

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

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

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

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

索引- 该属性应该有一个为其创建的索引。

MaxLength - 如果此属性是字符串,则 MaxLength 用于指定 varchar 最大大小。默认最大长度为 140。

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

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

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

于 2016-08-15T06:09:25.153 回答