dataset与实体类的转换

本文探讨了DataSet的不足,如缺乏抽象、弱类型和非面向对象特性,并提出使用自定义实体类的优势,如利用OO技术、添加自定义行为和强类型。展示了如何将数据库数据映射到自定义实体类和集合,以及如何通过自定义行为进行搜索和绑定。同时,提到了高级主题,如并发、性能和ORM映射。
摘要由CSDN通过智能技术生成

DataSet的问题:
1、缺少抽象,开发人员必须了解其基础架构;
2、弱类型,返回的是System.Object,必须进行类型转换Convert.ToInt32等之后才能使用,降低了效率,增加了出错的可能性;
3、不是面向对象的,无法充分利用OO的技术。
使用DataSet,它的缺点将在复杂系统中成倍的扩大。

自定义实体类的挑战:
要求更多的代码。我们不是简单地获取数据并自动填充 DataSet,而是获取数据并手动将数据映射到自定义实体(必须先创建好)。由于这个工作是重复的,我们可以使用代码生成工具或者ORM映射。

自定义实体类的代码示例:
public class User {
#region "Fields and Properties"
private int userId;
private string userName;
private string password;
public int UserId {
get { return userId; }
set { userId = value; }
    }
public string UserName {
get { return userName; }
set { userName = value; }
}
public string Password {
get { return password; }
set { password = value; }
}
#endregion
#region "Constructors"
public User() {}
public User(int id, string name, string password) {
this.UserId = id;
this.UserName = name;
this.Password = password;
}
#endregion
}

自定义实体类的优点:
1、可以让我们利用继承和封装等OO技术;
2、可以添加自定义行为;
3、属于强类型,可以获得代码自动完成功能(IntelliSense)&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值