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
ORM定制的几点注意事项相关推荐
- Vivado定制DDR3 IP核注意事项
1.1 Vivado定制DDR3 IP核注意事项 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)Vivado定制DDR3 IP核注意事项: 5)结束语. 1.1.2 本 ...
- 小程序定制开发需要注意的事项
我们可以从微信这个平台上面观察出来,如今非常支持的是对企业之间的合作,所以也就是因为这样的一个措施,让微信上的小程序绝对是成为了今年在移动互联网行业当中最火热的一个产品,而且我们可以预见,在未来不久, ...
- 电商网站模板_阿里云建站:模板建站与定制建站怎么选(小白参考)
企业建站不仅是企业形象的重要组成部分,更是将自身展示给客户乃至全球的窗口,因此越来越多的企业会选择建立自己的网站,因此,现在阿里云的建站产品也越来越火了,阿里云建站产品主要分为模板建站和定制建站,模板 ...
- 关于定制开发ERP的哪些事,5分钟看懂ERP定制开发关键节点
企业在准备上或者是换一套ERP系统时会陷入抉择两难的局面:是定制开发还是选择通用?类似于男人面对的共同难题:老妈和老婆同时落水,该救谁? 寻找ERP系统供应商时总有很多问题盘旋在脑海里:都说找合适的管 ...
- JAVASCRIPT复制到剪贴板
为什么80%的码农都做不了架构师?>>> 来源:我的博客 最近答应张先生替 42qu 写一个短址服务,写的过程中学到若干新东西,JS操作剪贴板便是其中一例. Javascrip ...
- 程序员怎么写出亮眼的简历?
要随时与正能量的人保持同行,因为他的心一直在靠近远方 文章目录 什么是简历 程序员的简历应当突出的重点 在校生或应届生 学历方面 专业方面 证书 其他 已就业 单位职能 技术优势 简历加分项 为心仪公 ...
- linux xfce占用资源,Xfce之所以大行其道的七大原因
长期以来, Xfce 一向是人气排在第三位的 Linux 桌面.十多年来,它的人气就不如 GNOME 和 KDE .后来,就在几年前,在反对 GNOME 和 Unity 的阵营当中,它俨然成了一股主力 ...
- (R)-tert-Bu4- DOTAGA为一种聚甲酸酯(polymethylene)分子,817562-90-6
(R)-tert-Bu4-DOTAGA产品简述: (R)-tert-Bu4- DOTAGA为一种聚甲酸酯(polymethylene)分子:它是一种新型的磁共振成像探针,可与多种金属离子形成稳定的配合 ...
- 福利:Sandboxie沙盘宣布免费,未来将代码开源
曾记当年的沙盘+客户端游戏多开以及当年系统带不起虚拟机,存在可疑样本就在沙盘里面跑跑的年代,当时我的每台机器都会装一个沙盘(Sandboxie),而过了好些年,随着需求的更迭,慢慢的也就没用了,毕竟这 ...
- laravel-package-top-100
排名 排名 下载次数 Star 数 扩展包 一句话描述 1 2883968 3968 intervention/image 图片处理扩展包,支持裁剪.水印等处理,使用教程请见 https://phph ...
最新文章
- React native 浏览器调试
- 【Android 逆向】Android 逆向通用工具开发 ( 网络模块开发 | 配置头文件 | 配置编译参数 | 网络初始化 WSAStartup 与清理 WSACleanup 操作 )
- 直播报名 | CUDA优化:高性能库cuBLAS使用指南
- 用相对路径从一个项目跳转到另一个项目_如何用2天时间,从0到N的完成一个学习项目设计?...
- linux x64下安装oracle 11g
- Java多张图片合成PDF
- 1.1 波士顿房价预测
- 诺基亚808 PureView
- 百度面试题--度度熊想去商场买一顶帽子,商场里有N顶帽子,有些帽子的价格可能相同,度度熊想买一顶价格第三便宜的帽子,问第三便宜的帽子价格是多少?
- bitcoin-NG的分析
- 设置表头QHeaderView
- python脚本——ping检测在线主机
- HOTMAIL搭建企业邮箱
- 国家对五险一金的交纳说明,太有用了,找都找不到
- 对比学习-SimSiam-论文精读解析
- RHCA-红帽认证架构师
- 蓝牙XY-MBD07A与XY-MBT58A互连
- 蚂蚁区块链第11课 以租房积分管理系统为例讲透蚂蚁Solidity语言差异精要
- 高等教育学:教学组织形式与教学工作基本环节
- python catia_使用Python脚本的CATIA V5自动化
热门文章
- 深度学习框架间互操作的工具:MMdnn
- linux 查看进程与端口以及内存资源
- java实现pdf打印工具类,Java PDF工具类(二)| 使用 wkhtmltox 实现 HTML转PDF(文字/图片/页眉页脚)...
- 出现画面抖动_手机拍照时模糊,抖动?赶紧来拯救你的拍摄技术吧!
- c++之指针常量和常量指针
- c++ const 和 define
- html5控制字大小的代码,js根据字符串长度控制字体大小代码
- java 服务器时间 jvm_手动设置jvm时间改为第8时区的时间JVM虚拟机时区设置问题,java日期工具类各种解决不好使,很麻烦...
- c语言回文字符串判断函数的奇偶性,C语言拓展训练编程题.doc
- sdr 软件_SDR软件定义无线电是什么?不仅仅是大频谱