ASP.Net分层应用程序 – 在层之间共享实体数据模型
如何在我的C#Web应用程序的所有层中共享自动生成的实体数据模型(生成的对象类),同时仅在数据层中授予查询访问权限?这使用典型的3层方法:数据,业务,演示.
我的数据层返回IEnumerable< T>到我的业务层,但我不能将类型T返回到表示层,因为我不希望表示层知道数据层的存在 – 这是实体框架自动生成我的类的地方. 建议使用仅包含数据模型的单独层,但我不确定如何从实体框架提供的查询功能中分离数据模型. 解决方法
如果您使用
POCO entities(.NET 4),那么这很容易(或者至少更容易).这有可能吗?
你可以像Ben所说的那样创建DTO,但是你基本上是在减少并复制每个实体.如果您愿意,EF2将创建“哑巴”实体并动态添加更改跟踪,延迟加载等. 否则答案是你做不到的.如果实体依赖于实体框架,那么您不能在整个应用程序中使用它们而不拖动该依赖项.在这种情况下,您必须使用DTO.这是没有POCO实体的EF 1或EF 2的第三方选项. 编辑:以下是一些有用的链接,可以了解有关这一切的更多信息 >一般MS指南: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – “添加ASP.Net文件夹”未启用
- asp.net-core – 对project.json中的依赖项感到困惑
- 将ASP.NET updatepanel与jQuery UI DatePicker结合使用时出
- asp.net-mvc – 无法加载文件或程序集Oracle.DataAccess
- asp.net – 实体框架:Singletonish ObjectContext – Good
- asp.net – 你可以添加一个HtmlGenericControl的子控件吗?
- asp.net 自动将汉字转换成拼音第一个字母
- Asp查询整库,每表100条保存为csv格式
- asp.net – MVC 3在IEnumerable模型视图中编辑数据
- ASP.NET 2.0和4.0似乎在Forms身份验证中以不同方式处理根UR
- asp.net-mvc-4 – MVC Razor强类型视图中表行的回
- asp.net 4.0 web表单路由 – 默认/通配符路由
- Azure上的Asp.Net Core 2.0产生了502.5
- asp.net-mvc – 在ASP.NET MVC Web应用程序中托管
- .net-core – 使用EF Core删除级联
- asp.net-mvc-3 – ASP.Net MVC 3:在哪里处理会话
- asp.net – “可能危险的Request.Form”在通用处
- asp.net – 错误:“配置部分’system.webServer
- asp.net – CompareValidator的间歇性错误 – Va
- 如何自定义Asp.net Identity 2用户名已经采取验证