关于ORM和工厂模式

夜色镇歌 2011-11-19 12:23:50

public class TableAttribute:Attribute
{
private string tablename;
private string tabletype;

public TableAttribute(string _TableName, string _TableType)
{
this.tablename = _TableName;
this.tabletype = _TableType;
}

public string Tablename
{
get { return tablename; }
set { tablename = value; }
}


public string Tabletype
{
get { return tabletype; }
set { tabletype = value; }
}
}


学着别人的例子写了个Attribute.

在对应数据库的类属性字段上用这个Attribute来表示字段名和字段的类型

通过反射我也可以取到这两个属性

问题一:
我想知道的是 我获得了字段名和字段的类型 或者是否为主键 有什么用呢? 用来生成SQL语句?

问题二:
ORM到底是干嘛用的....只是一个万能的用来把值赋给属性的框架吗?

问题三:
设计模式中的工厂模式可以配合ORM框架使用吗.....如果可以 请举例说明...



本人小白..想学习ORM 发现困难好大..好迷茫...
...全文
258 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
大蛮 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 winner2050 的回复:]
不必苦恼。

学习ORM 不是要用c# 去实现它,学习怎么用就可以了。
[/Quote]

同意 至少先学会用 再去学怎么做自己的
seafly521 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sp1234 的回复:]
请先删除代码。没有需求,就不要保留这些代码。
[/Quote]
貌似知道lz是谁了,找别人的源码看下吧 。不知道它是用来做什么的,就不会知道它为什么会产生。
  • 打赏
  • 举报
回复
请先删除代码。没有需求,就不要保留这些代码。
宝_爸 2011-11-19
  • 打赏
  • 举报
回复
对象 关系数据库 映射。
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 sandy945 的回复:]

对象指的什么? 关系又指的什么? 为什么要映射?
[/Quote]
不知道 所以才来这里学习的
  • 打赏
  • 举报
回复
仅靠这一个Attribute就想完成ORM(比如Linq to sql)的工作是不可能的,字段映射的关系体现不出来

而工厂是一个产品生产商,取决于你需要什么,从而降低耦合
接口是这些产品的规格标准(功能描述)
阿非 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 a346729576 的回复:]
引用 5 楼 sandy945 的回复:

对象指的什么? 关系又指的什么? 为什么要映射?

不知道 所以才来这里学习的
[/Quote]
名字解释又不是原理。google 一下不就知道了么。

不明白含义与意义能明白原理么
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复


怎么又没人了
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 hehongyu2000 的回复:]

接口是让你可以要多种实现。用工厂类生成他们也是一种方式。
[/Quote]
好像明白了点。。。


BLL层定义了类A,在DAL层定义了类B,在类A中定义了类B的一个对象,并且通过该对象完成操作。显然 如果希望换一种数据访问方式,很可能需要修改BLL层的代码,因为在类A中定义了类B的一个对象。如果使用接口,上层类就不能直接依赖下层类,而只依赖下层提供的一个接口,这就是所谓的 “松散耦合”。


比如这个例子,如果A是依赖B的一个接口 则这个接口可以有多种实现..这就增加了接口的重用性。。对不?
阿非 2011-11-19
  • 打赏
  • 举报
回复
对象指的什么? 关系又指的什么? 为什么要映射?
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 winner2050 的回复:]

不必苦恼。

学习ORM 不是要用c# 去实现它,学习怎么用就可以了。
[/Quote]

唉。。没办法。。不比别人多学点东西 就混不下去了。。。
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sandy945 的回复:]

ORM 你知道它们是什么的缩写就知道是做什么的了。
[/Quote]

对象关系映射嘛...
就是不理解..
hehongyu2000 2011-11-19
  • 打赏
  • 举报
回复
接口是让你可以要多种实现。用工厂类生成他们也是一种方式。
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
书上说的:

BLL层定义了类A,在DAL层定义了类B,在类A中定义了类B的一个对象,并且通过该对象完成操作。显然 如果希望换一种数据访问方式,很可能需要修改BLL层的代码,因为在类A中定义了类B的一个对象。如果使用接口,上层类就不能直接依赖下层类,而只依赖下层提供的一个接口,这就是所谓的 “松散耦合”。

完全不理解....................................
winner2050 2011-11-19
  • 打赏
  • 举报
回复
不必苦恼。

学习ORM 不是要用c# 去实现它,学习怎么用就可以了。
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复


那三个问题没人能回答吗。。。。

昨天看见书上写的IBLL 和IDAL 我又抓狂了...这两个接口主要是让工厂类生成他们吗?
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sgzhou12345 的回复:]

顶顶先,学习一下先
[/Quote]

夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 daman7 的回复:]

引用 2 楼 winner2050 的回复:
不必苦恼。

学习ORM 不是要用c# 去实现它,学习怎么用就可以了。


同意 至少先学会用 再去学怎么做自己的
[/Quote]
适合新手学习的框架 推荐个呗...
夜色镇歌 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 sp1234 的回复:]

请先删除代码。没有需求,就不要保留这些代码。
[/Quote]

恩,,是这样 可是我就是想知道这些有什么用```
下载的好多源码都标记的列明和类型....看不懂......
阿非 2011-11-19
  • 打赏
  • 举报
回复
ORM 你知道它们是什么的缩写就知道是做什么的了。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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