别名的定义

当表与实体名不相同的时候或者我们用到Schema(Schema需要升级到4.6.0.4)的时候,我们有三种方式实现Mapping

1.实体特性

实体和表结构不同Schema处理 - 图1

说明:

1.ColumnName 定义数据库表字段的真实名称,当一样的时候可以不定义该特性

2.IsIgnore 查询 增加 删除 更新会过滤这一列,如果想让查询也有这一列可以用.Select(“*“)强制查所有列

3.IsPrimaryKey 标识是否为主键,更新和插入的时候会根据主键值判段更新哪条,当InitKey为Attribute时一定要加该特性不然找不到主键,Systemtable加了没有效果

4.IsIdentity 是否为自增长 ,更新和插入的时候会根据会有用,当InitKey为Attribute时一定要加该特性,Systemtable加了没有效果

5.ColumnDescription 列描述,暂时未实现该功能

6.Length 长度,生成表会用到

7.IsNullable 是否可空,生成表会用到

8.OldColumnName 修改列名,生成表会用到

9.ColumnDataType 自定义生成的数据类型,生成表会用到

更多:

http://www.codeisbug.com/Doc/8/1141

2.属性是死的所以提供了动态方式**

注意:Add里面传的是实体名和实体属性名称,不是表名和字段名注意!

实体和表结构不同Schema处理 - 图2

3.As方式

实体和表结构不同Schema处理 - 图3

优先级:

AS>属性>动态

4使用自定义特性

实体和表结构不同Schema处理 - 图4