java bll dal_实体框架DAL,BLL与存储库模式

博主在尝试使用UI、BLL(业务逻辑层)和DAL(数据访问层)构建三层架构,利用实体框架和存储库模式。问题在于是否应将由实体框架生成的实体作为BLL的一部分,还是仅限于DAL。目前的实现中,BLL会将DAL中的实体转换为特定的BLL对象,感觉像是重复工作。博主在考虑是否可以直接使用实体框架的实体作为BLL的一部分,以简化代码结构。
摘要由CSDN通过智能技术生成

我正在尝试使用UI,BLL和DAL构建三层体系结构。我正在使用实体框架与存储库模式。

我的问题是:实体框架生成的实体是否应该作为我的BLL的一部分,还是仅仅是DAL对象?

提问的理由是因为它感觉就像我在复制代码。例如:我有一个由实体框架直接从我的数据库生成的DAL.CatEntity。这一切都很好,很棒。然后我使用我的存储库(这是我的DAL的一部分)将数据拉入DAL.CatEntity。然后,在我的BLL中使用这个DAL.CatEntity,将所有的数据抽出,并将其转换为BLL.Cat。然后我在我的UI层中使用这个BLL.Cat。

下面是一些超级简化的代码。

BLL

public Cat GetCat(string catName){

CatEntityRepository _repository = new CatEntityRepository;

Cat cat = null;

CatEntity catEntity = _repository.GetSingleCat();

cat = ConvertToCat(catEntity);

return cat;

}

private Cat ConvertToCat(CatEntity entity){

return new Cat(){

Name = entity.Name,

Color = entity.Color,

//....

}

}用户界面:

public ActionResult method(){

Cat cat = BLL.GetCat();

//......

}似乎没有必要同时拥有Cat和CatEntity。我可以使用我的EntityFramework实体作为我的BLL的一部分,同时使用存储库作为我的DLL?

谢谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值