c# - Entity Framework 和业务对象

标签 c# entity-framework business-logic-layer

我以前从未使用过 Entity Framework ,我想尝试一些实现它的个人项目来尝试一下。

我看到实体可以暴露给表示层。 但我不希望暴露某些字段,如修改日期和创建日期等字段以及各种其他数据库字段。

我如何实现业务对象并仅公开我需要的属性,但仍然保持对象可序列化?

与 LinqToSql 相比,它还有什么优势?

最佳答案

当您在 EDMX 模型中定义一个实体时,您可以指定每个属性的 setter 和 getter 的可见性,因此如果您不希望 ModifiedDate 在其他层中可见,您可以简单地将其指定为内部。

enter image description here

如果您的要求更复杂,例如 ModifiedDate 应该可以在实体程序集和业务逻辑程序集中访问,但不能在 UI 程序集中访问,那么您需要创建另一个对象,该对象将在业务逻辑和 UI 逻辑之间交换层。

关于c# - Entity Framework 和业务对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5202780/

相关文章:

c# - EF 6 数据库第一个存储过程

c# - 业务逻辑层应该访问数据库/数据访问层吗?

data-access-layer - 与n层设计(BLL/DAL)有关的精简程序

c# - 获取超过 System.Int64 范围的文件大小(理论上可能)

c# - 机器人框架.Net。在 Bot 上添加输入指示器

linq - Entity Framework 、代码优先和全文搜索

c# - LINQ:如何清空投影中的属性?

design-patterns - 将业务规则与业务流程分开

c# - 生成文件后如何关闭启动消息?

c# - 对我的模型上的属性实现 IsDirty (WPF MVVM)