我有一个实体类
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库。
答案 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