Chr*_*eis 3 asp.net entity-framework data-access-layer ado.net-entity-data-model
如何在我的C#Web应用程序的所有层中共享自动生成的实体数据模型(生成的对象类),同时仅在数据层中授予查询访问权限?这使用典型的3层方法:数据,业务,演示.
我的数据层返回IEnumerable<T>到我的业务层,但是我不能将类型T返回到表示层,因为我不希望表示层知道数据层的存在 - 这是实体框架自动生成我的类的地方.
建议使用仅包含数据模型的单独层,但我不确定如何从实体框架提供的查询功能中分离数据模型.
如果您使用POCO实体(.NET 4+),那么这很容易(或者至少更容易).这有可能吗?
你可以像Ben所说的那样创建DTO,但是你基本上是在减少并复制每个实体.如果您愿意,EF2将创建"哑巴"实体并动态添加更改跟踪,延迟加载等.
否则答案是你做不到的.如果实体依赖于实体框架,则不能在整个应用程序中使用它们而不拖动该依赖项.在这种情况下,您必须使用DTO.这是没有POCO实体的EF 1或EF 2的第三方选项. http://automapper.codeplex.com/
编辑:以下是一些有用的链接,可以了解有关这一切的更多信息
| 归档时间: |
|
| 查看次数: |
1758 次 |
| 最近记录: |