gpt4 book ai didi

entity-framework - Entity Framework 和业务层/逻辑

转载 作者:行者123 更新时间:2023-12-03 10:16:48 25 4
gpt4 key购买 nike

我正在对MVVM-light的体系结构进行一些自学-EF应用
即时通讯试图建立一个产品/收据一样的应用程序。
我有一个与产品和收据表/实体有多对多关系的Db/EF。
然后我有一个DAL,仅使用Linq进行简单的CRUD。

问题是在哪里以及如何将我的业务逻辑放入此应用程序中。

我想到了几个主意

选项1
-制作一个ReceiptBo(收据业务对象)
继承Entity Receipt类和Icollection(ProductBo)
ReceiptBo类将负责添加乘积,计算总计和小计并调用Dal进行插入。
maby此选项似乎有点过大。

选项2
使用部分类将计算方法放入生成的Entity对象中
并只需使用BuisnessLayer调用Dal。
在我看来,这会使Buisnesslayer类过时,并且不确定是否将Entity类完全用于业务逻辑?

选项3
-制作业务类,但不打扰使用继承,只需将产品添加到实体中并在其中进行计算,然后调用Dal进行插入。
看起来很简单,但不是很优雅。

选项4
-以上均不明确

现在我不使用WCF,但我的想法是我想使这个应用程序松耦合,以便容易实现它并进一步扩展它。

我对业务层是什么也有些困惑。在某些示例中,它更像Dal一样被使用,它也可以进行计算,然后其他人则说这没有完成。

一些帮助会很棒。谢谢

ps:对不起,我的英语不好

最佳答案

确实,我会在这里简单介绍一下,选择一种设计如下的通用多层体系结构:

  • 数据访问层(基本上是您的 Entity Framework 模型以及所有实体)
  • 业务层,它公开用于访问实体的方法(CRUD方法+运行某些逻辑的任何自定义方法)
  • 服务层,通过WCF(服务+数据协定)公开无状态方法
  • 表示层(在您的情况下使用MVVM模式)
  • View (XAML页面)
  • ViewModels(C#类)
  • 此处,
  • 模型由服务层
  • 通过WCF公开的实体表示

    我不会在实体中直接添加任何方法。所有方法都在业务层中定义,并由服务层公开。

    关于entity-framework - Entity Framework 和业务层/逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9328941/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com