今天又跟着NBEAR网站的入门例子做了一遍,又发现一些问题,但是也加深了印象,学到些知识。
NBear V3下载地址:http://nbear.org
目前最新版本:NBearV3.7.2
学习教程:NBear V3 Step by Step教程——ORM篇
心得如下:
1、要想将按照orm思想建立数据库表,所有表必须有主键。
2、一对一关联的定制是双向的。
外键所在表:
[FkReverseQuery]
User User
{
get;
set;
}
引用外键的表:
[FkQuery("UserID",LazyLoad=false)]
UserProfile Profile
{
get;
set;
}
3、一对多关联的定制是单向的
[FkQuery("UserID")]
LocalUserPhone[] Phones
{
get;
set;
}
4、多对多关联的定制是需要辅表的
两个多对多的表,一定是需要第三个表来描述多对多关系的
A和B表多对多,那么A中定制
[ManyToManyQuery(typeof(UserGroup),OrderBy="{Name}DESC",LazyLoad=false )]
Group[] Groups
{
get;
set;
}
B中定制
[ManyToManyQuery(typeof(UserGroup), OrderBy = "{Name}DESC", LazyLoad = true)]
User[] Users
{
get;
set;
}
中间表C定制
[Relation]
public interface UserGroup:NBear.Common.Design.Entity
{
[RelationKey(typeof(User))]
Guid UserID
{
get;
set;
}
[RelationKey(typeof(Group))]
Guid GroupID
{
get;
set;
}
}
其中[Relation]尤其重要,它指明当前这个表是一个描述多对多关系的表,没有它,编译将会出错。