ORM定制的几点注意事项

今天又跟着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]尤其重要,它指明当前这个表是一个描述多对多关系的表,没有它,编译将会出错。

转载于:https://www.cnblogs.com/dqhuanghe/archive/2009/07/16/1524069.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值