首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

.net数据层架构:用强类型化dataset和用实体类+数据访问方法的两种模式,哪种好?petSHop4.0为何没有用类型化dataset?解决方法

2012-02-26 
.net数据层架构:用强类型化dataset和用实体类+数据访问方法的两种模式,哪种好?petSHop4.0为何没有用类型化

.net数据层架构:用强类型化dataset和用实体类+数据访问方法的两种模式,哪种好?petSHop4.0为何没有用类型化dataset?
.net数据层架构:用强类型化dataset和用实体类+数据访问方法的两种模式,哪种好?petSHop4.0为何没有用类型化dataset?

[解决办法]
实体类+数据访问太OO了,大项目写起来慢啊,复杂啊,数据库还没完全OO啊,否则还用实体类做什么
DATASET用在大项目爽啊,方便啊
[解决办法]
不管是数据实体,还是DataSet,他们的作用无非都是作为数据传输的载体。

有几个因素是需要考虑的:
1.数据载体的大小
2.是否需要一些其他结构:Schema。
3.是否想通过属性的方式方便的存取数据。
等等,都是需要考虑的。
[解决办法]
PetShop4.0中.为何没用到DataSet呢?
它将实体层中的类声明为序列了.在数据层中使用SqlDataReader将数据库中相对应的列值赋给了实体类中的属性.因此而没有使用DataSet绑定控件,而直接绑定了相对应的实体!控件是可以绑定任何序列的
[解决办法]
个感觉区别不大,DATASET一条记录基本就相当于一个实体类了,只是表现形式不太一样而已
,而且强类型DATASET是跟数据库表对应的,用起来也比较方便了,有些配置类型的表,如果缓存的话,还是定义个实体类比较好,个人感觉
[解决办法]
我个人习惯实体类

强类型DataSet用不惯
[解决办法]
用数据集或用自己写的实体类.

由个人习惯

但关键是要强类型.

尤其是集合的强类型.
[解决办法]
以前我们也用强类型DataSet,现在个人认为如果有好的实体类工具,还使用实体类的好。
我最近作了一个小项目,采用了下面的实体类查询,感觉还是很好的。
//实体类 WFS
WFS wfs=new WFS ();
wfs.Name = "ORM Test. ";
wfs.MEMO = "Test Orm... ";
//实体数据处理类 DataWFS
DataWFS dwfs=new DataWFS (wfs);
dwfs.Insert ();
//获得插入的标示
int id=wfs.ID ;
//准备新 OQL 查询
dwfs.NewQuery (wfs);
//执行 OQL 查询
WFS[] wfsList =(WFS[])dwfs.GetList (dwfs
.Select (new object []{wfs.ID ,wfs.Name })
.Where (new Condition (dwfs).Equal (wfs.ID ,id)) );

wfs=wfsList[0];
Response.Write( "OQL:wfs.Name= ");
Response.Write (wfs.Name + ", ");
wfs.ID =id;
wfs.Name = "Orm,EDIT... ";
dwfs.Update ();
Response.Write ( "Update ");
dwfs.Delete ();
Response.Write ( "Delete ");
Response.Write (wfs.ID );
[解决办法]
类型化的dataset速度比较慢。可维护性与可扩展性都比较差,所以大型项目中基本都不考虑应用它。
[解决办法]
推荐看看这篇文章:
设计数据层组件并在层间传递数据
http://www.microsoft.com/china/msdn/archives/library/dnbda/html/BOAGag.asp


[解决办法]
Typed Dataset的性能不是很好,也不适合在服务边界中传输(SOA),不过确实方便,在小项目中很理想,实体类比较麻烦
[解决办法]
- 学习了

热点排行