gpt4 book ai didi

c# - Entity Framework : Separation of concerns

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:08 24 4
gpt4 key购买 nike

我正在使用 EF,想知道其他人如何将数据上下文与实体分开。

基本上我需要一层来访问数据上下文(模型对象)以调用 SaveChanges() 等。其他层需要访问实体类型本身。因此,例如,如果一个方法返回一个实体,而我从我的 UI 调用该方法,那么我将不得不从 UI 引用模型,这并不好。

有没有办法在一个项目中拥有实体类型而在另一个项目中拥有数据上下文?

我想另一种方法是为每个实体创建接口(interface)并将接口(interface)放在其他层可以引用的另一个项目中。但这是很多维护工作,而且很麻烦

最佳答案

在我看来,虽然这确实很麻烦,但接口(interface)是更好的方法。您将真正实现松散耦合。

有了接口(interface),您以后就可以完全更改您的实体层,而您的 UI 甚至不会注意到。接口(interface)就是为此目的而创建的,清晰的分离和隔离。

人们总是倾向于发现界面无聊且浪费时间。但是你通过忽略它们而节省的时间,你会在以后付出代价,我告诉你!

Marc_s 也给了你一个很好的答案(嘿,那是 marc_s!),但在我看来不够纯粹。
您也可以选择 POCO 实体对象,但耦合从这里开始。

关于c# - Entity Framework : Separation of concerns,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1699487/

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