实体类和数据库表字段的对应如何取舍?

mb_1985 2009-05-21 10:51:16
通常哪些数据库字段不需要在实体类里表示?实体与实体之间一对一和一对多的关系又如何表示?可以都用一个实体类包含另一个实体类对象或者实体对象集合?
...全文
1989 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
a522699338 2009-05-22
  • 打赏
  • 举报
回复
很显然,在建立实体类的时候数据库字段有多个关系时我们要手动添加字段(因为在生成实体类的时候一定要手动把多个关系的勾去掉,解释在下面),
我不知道你用的什么数据库,其实 SQL2005 本身就可以处理关系,所以在建立实体类的时候就不需要考虑1对多或者多对1了,
可以手动的在数据库里面选择关联就可以,也可以通过程序处理,这就看你怎么配合项目使用了。
zhensoft163 2009-05-22
  • 打赏
  • 举报
回复
数据库中的字段是否需要在实体类中要根据具体的需求!
主从表是可以写在一起的!
yh7272hy 2009-05-22
  • 打赏
  • 举报
回复
一般都是一张表对象一个实体类,ORM映射,如果有一对多的关系可以考滤用泛型
wanghui0380 2009-05-22
  • 打赏
  • 举报
回复
首先记住一条:商业实体(就像sp1234说的,我们愿意叫商业实体,而不是实体,用以区别逻辑上的实体和数据表上的实体)不是数据表,而数据表也不是商业实体


呵呵,“感谢”ORM厂家的大力宣传,很多人在这里都混淆了我上面提那个区别。

行了,把ORM放一边去把,把数据库也放一边去把

如果,没有数据库,没有所谓的ORM,那么按照你的对象书籍的设计,按照UMl分析,按照红色的满是人头的书上的描述,你该如何设计,就如何设计

难道你们都不觉得奇怪,所有描述对象设计的书籍里,没有一本是在讲述如何与数据库打交道滴,难道那些世界级的大大做项目都不用数据库的吗?其实不是,因为那些大大们都很清楚上面那个红色标明的地方


好了,当你把商业实体做出来了以后----然后,我们来看ORM,商业实体,没有和数据库打交道的能力,但是ORM有。ok,我们随便找一个orm工具,让他转换(一对一也好,一对多也好无所谓)出一个DAL


现在有了和数据打交道的DAL,也有了和逻辑层打交道的商业实体--------好像中间差了点啥吧--差了他们之间的交互。ok,我们做他们的交互部分IDAL,我们对DAL扩展不同的接口,让他能有和商业实体打交道的能力



ok,现在清楚了吧,所谓的orm只是帮助我们生成和简化编写DAL的工具,他不是商业对象本身。而所谓的分层,也只是因为商业实体的出现,一旦商业实体出现,系统自然分层,DAL,IAL,Model 都是自然而然的选择。而不是象那些人认为的N层是谁谁谁规定必须那么写,不那么写就低级,弱智
tianyong0913 2009-05-22
  • 打赏
  • 举报
回复
根据需求和项目的架构而定
我看你有戏 2009-05-22
  • 打赏
  • 举报
回复
不懂
gongsun 2009-05-22
  • 打赏
  • 举报
回复
汗...楼主想问什么?

一般数据库中的一张表 就对应着一个实体类。表字段就是类的属性。类里面也可以另增加一些属性。

对象 和 对象 都是独立的,只是通过外键相关联。

如何表示 1 to 1 和 1 to 多???

public class B

{
private int _theid;
...
}


public class A

{
private int _theid;
private B _b;
public A
{
_b = new B();
}
...
}

A是主表 B是从表...


毕竟.net分层 和 mvc模式还是有很多区别的。
Jack2013tong 2009-05-22
  • 打赏
  • 举报
回复
字段全对应也没有什么,程序里要不要用是另一回事
程序漫步 2009-05-22
  • 打赏
  • 举报
回复
ORM~
bl_song 2009-05-22
  • 打赏
  • 举报
回复
数据库的设计不是按照面向对象的,应视需求而定。
cmfl3483 2009-05-22
  • 打赏
  • 举报
回复
根据需求而定
moonshineidolon 2009-05-22
  • 打赏
  • 举报
回复
数据库的设计不是按照面向对象的,你的程序不同。所以实体类的定义可以跟数据库不一一对应。
jueyingfd 2009-05-22
  • 打赏
  • 举报
回复
数据库和实体类最少是一对一得关系,因为你代码里的数据都是从实体类里取,数据库先把值赋给实体类,然后实体类在赋给代码?当然,如果你用datatable或dataset来取数据的话,就不用写实体类了,不过那样不好,所以说,实体类只能比数据库的字段多,不可能少了,明白?
悔说话的哑巴 2009-05-22
  • 打赏
  • 举报
回复
一般来说主和从表都是在一起的
itcrazyman 2009-05-22
  • 打赏
  • 举报
回复
mark 帮顶
andyxl 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 mb_1985 的帖子:]
通常哪些数据库字段不需要在实体类里表示?实体与实体之间一对一和一对多的关系又如何表示?可以都用一个实体类包含另一个实体类对象或者实体对象集合?
[/Quote]

up 顶了、下面来滴、切勿模仿
kfps8kfps8 2009-05-21
  • 打赏
  • 举报
回复
我现在做的还是一对一的关系
听高人讲解

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧