实体框架和业务对象

Bas*_*aro 10 c# entity-framework business-logic-layer business-objects

我以前从未使用过实体框架,我想尝试一些实现它的个人项目来让我的脚湿透.

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

我怎么能实现业务对象,只是暴露我需要的属性,但仍然保持对象可序列化?

这对LinqToSql有什么优势?

Lad*_*nka 22

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

在此输入图像描述

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