现在做.net开发最流行的三层架构中具体是怎样用泛型集合做数据持久层的?
答案:3 悬赏:0
解决时间 2021-03-05 22:39
- 提问者网友:霸道又专情♚
- 2021-03-05 07:39
貌似过去用DataSet做数据持久层,现在流行用泛型集合,每个表的每条记录是一个对象,但怎么才能做到用泛型集合做为数据持久层?
最佳答案
- 二级知识专家网友:留下所有热言
- 2021-03-05 08:34
打比方你的表A中有3个字段
id int,
name varchar(10),
age int
你建立一个类,类名就叫表A,然后写三个属性,对应3个字段
这样你在数据访问层就建立一个类,类中一个方法返回类型是list<表A>
然后你就可以把DataSet里面的数据循环读出来用表A类接受,最后接受完毕
返回list<表A>
说着很麻烦,你可以去网上下一个3层构架的项目看一看就明白了
id int,
name varchar(10),
age int
你建立一个类,类名就叫表A,然后写三个属性,对应3个字段
这样你在数据访问层就建立一个类,类中一个方法返回类型是list<表A>
然后你就可以把DataSet里面的数据循环读出来用表A类接受,最后接受完毕
返回list<表A>
说着很麻烦,你可以去网上下一个3层构架的项目看一看就明白了
全部回答
- 1楼网友:转身→时光静好
- 2021-03-05 09:45
感觉上用缓存来解决这个问题,不知道对不对
- 2楼网友:余生继续浪
- 2021-03-05 09:08
新建模型类
public class CertificationMode
{
public CertificationMode()
{
}
private int _Cer_ID;
private string _U_Name;
private string _PicPath;
private string _Name;
private string _JiGouName;
private string _BegionDate;
private string _EndDate;
private int _Site;
public int Cer_ID
{
get { return _Cer_ID; }
set { _Cer_ID = value; }
}
public string U_Name
{
get { return _U_Name; }
set { _U_Name = value; }
}
public string PicPath
{
get { return _PicPath; }
set { _PicPath = value; }
}
public string Name
{
get { return _Name; }
set { _Name = value; }
}
public string JiGouName
{
get { return _JiGouName; }
set { _JiGouName = value; }
}
public string BegionDate
{
get { return _BegionDate; }
set { _BegionDate = value; }
}
public string EndDate
{
get { return _EndDate; }
set { _EndDate = value; }
}
public int Site
{
get { return _Site; }
set { _Site = value; }
}
}
读取数据到泛型结合
public class CertificationDAL
{
public IList GetCollectionFromReader(IDataReader reader)
{
List entitylist = new List();
while (reader.Read())
{
entitylist.Add(GetEntityFromReader(reader));
}
return entitylist;
}
///
/// 根据SqlDataReader获取目录实体
///
/// 数据阅读器
/// 返回目录实体
public CertificationMode GetEntityFromReader(IDataReader dr)
{
CertificationMode entity = new CertificationMode();
entity.Cer_ID = Convert.ToInt32(dr["Cer_ID"].ToString());
entity.Name = dr["ZSName"].ToString();
entity.PicPath = dr["PicPath"].ToString();
entity.JiGouName = dr["JiGouName"].ToString();
DateTime dt = Convert.ToDateTime(dr["BegionDate"].ToString());
entity.BegionDate = dt.ToShortDateString().ToString();
dt = Convert.ToDateTime(dr["EndDate"].ToString());
entity.EndDate = dt.ToShortDateString().ToString();
entity.Site = Convert.ToInt32(dr["Site"]);
return entity;
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯