在中,我们在实体类的属性中添加DbField特性,使得该属性能够与数据表列对应起来。下面来说说DbField属性的详细用法。
DbField特性的属性如下:
- Name(类型:string) 关联的数据列名称。如果未指定,则默认用实体类属性的小写形式。
- Length(类型:int) 关联的数据列的值的最大长度。默认值为0,表示不指定长度。length属性。
- IsAutoIncrement(类型:bool) 关联数据列是否为自增型。
- IsPrimaryKey(类型:bool) 关联数据列是否为主键。
如果想把文本(字符)型数据列的值的长度限制在32个,则该属性可以定义如下:
[DbField(Name="doc_key", Length=32)] public string Key { get; set; }关于DbField的使用有以下几个注意事项:
- 如果实体类属性的类型为string,才需要设置Length;
- 只有实体类属性为int时,才能使用IsAutoIncrement=true;
- 如果设置了IsPrimaryKey=true,且该实体类属性的类型为string时,必须设置Length属性,(这是因为MySQL不支持未指定长度的text字段作为主键);
- 不是所有的C#类型都可以使用DbField特性。目前可用的类型包括:int,long,float,double,bool,string,DateTime。