asp.net mvc 模型与实体框架模型

2024-03-15

在 asp.net mvc - model 文件夹中创建模型是最佳实践吗? 将这些模型与您的视图结合使用,并使用服务层将我的模型“调整”为 EF 模型。

或者您是否使用过其他方法。这种方法的问题在于,大多数时候我的(自制)模型是 EF 模型的副本(不是干的)

那么有人可以解释一下你的观点应该使用什么模型吗,因为它变得非常混乱。模型/视图模型/实体框架模型....

解决方案 :

感谢您的回答,所有猜测我现在正在重构一些东西!


正确的方法是为 ViewModel 使用不同的类,并为持久性(实体)使用不同的类。通常的原因是您经常需要向视图发送一些附加数据(例如填充下拉列表的数据、禁用某些字段的数据等)、使用不同的验证或仅显示实体的子集。

我不是纯粹主义者。如果我发现我的视图模型与实体完全相同,我会直接使用该实体,但一旦我需要视图中的任何其他信息,我将重构代码。大多数情况下,由于增量开发,我从实体开始,以视图模型结束。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

asp.net mvc 模型与实体框架模型 的相关文章

随机推荐

  • Eclipse 调试配置中的默认 VM 参数?

    当我使用 TDD 实现新功能时 我经常使用快捷方式Shift Alt D T仅运行我当前正在处理的 jUnit 测试用例 而不是整个测试套件 这需要几分钟 这将为当前 Java 源创建一个新的调试配置并立即运行它 现在我想在启用断言的情况下
  • AutoCompleteTextView 未完成括号内的单词

    我已经实施了AutoCompleteTextView如下 MainActivity java public static String myData new String Africa AF America AFM Apple AMP te
  • 将自定义数据嵌入到不会被 ld.so 映射的 ELF 文件中

    我有一个 500MB 的文件 其中包含一些自定义数据 即 ZIP 存档 我想将它嵌入到我的 ELF 可执行文件中 这样当我分发 ELF 文件时 我将只能发送 1 个文件而不是 2 个文件 问题是我不希望在我的应用程序启动时操作系统自动加载这
  • 在 Entity Framework 4.0 中批处理 DB 命令

    我当前的项目需要每天与外部系统同步 同步基于复杂的导入文件结构 该结构通过广泛的业务逻辑进行解析和处理 由于业务逻辑的原因 我们决定在 NET 代码中进行此操作并重用现有的 BL 组件 而不是在存储过程或集成服务中编写相同的逻辑 BL 层位
  • .Net 中的单元测试属性?

    我正在开发一个我想以开源方式发布的库 我已经开始为代码编写测试 我想知道如何测试 Net 对象中的属性 可以说我有以下内容 public class Person region variables private string name S
  • 生成三角/六角坐标 (xyz)

    我试图提出一个迭代函数来生成六角形网格的 xyz 坐标 使用起始六边形位置 为简单起见 假设为 0 0 0 我想计算每个连续的六边形 环 的坐标 如下所示 到目前为止 我所能想到的就是这个 javascript 中的示例 var radiu
  • 具有 AsynchronousServerSocketChannel 的多线程服务器

    我必须实现一个应该接受更多连接的服务器 没有任何更深入的思考 我决定使用新的 JAVA NIO 2 类 我目前的做法是 final Semaphore wait new Semaphore 1 while true wait acquire
  • 为什么函数绑定到它们传递的第一个类型

    我是 F 新手 我在闲逛 发现了一些有趣的东西 我希望有人能启发我了解幕后发生的事情 所以我做了这个功能 let my func x y x y 然后我用参数调用该函数1 and 2给我3 这是我期望发生的事情 但是当我将两个字符串传递给m
  • 与 StructureMap 4.6 瞬态生命周期的混淆

    我使用 StructureMap 4 6 作为我的 IoC 容器 我对其生命周期有点困惑 正如我在其文档中所读到的那样 Transient 将为每个容器创建一个对象实例 支持的生命周期 http structuremap github io
  • eval() 和 new Function() 是同一件事吗?

    这两个函数在幕后做同样的事情吗 在单语句函数中 var evaluate function string return eval string var func function string return new Function ret
  • SQL Server 2005:为什么命名事务?

    我一直在整理 SQL Server 中的整个嵌套事务 并且对嵌套事务的行为有了一些了解 当嵌套事务时 只有 最外层提交实际上会 犯罪 嵌套时 Commit Trans txn name 将始终适用于最里面 交易 即使 txn name 指的
  • 增强型 For 循环 - 对象数组

    好的 我有一个名为 Dog 的类 它接受两个参数 一个字符串和一个整数 该类有一个名为 bark 的方法 该方法根据传递给 Dog 构造函数的整数打印一个字符串 我还有一个名为 Kennel 的类 它创建了 5 个 Dog 的数组 看起来像
  • 只能检索有限数量的页面

    我想知道为什么我无法检索到第165页之后的更多页数据 page number is 165 4 image gif page number is 165 13 page number is 165 3 page number is 165
  • 复制 S3 存储桶(包括版本)

    有没有办法复制 S3 存储桶 包括对象的版本 我读到复制存储桶的方法是使用命令行工具 aws s3 sync s3
  • ASP.NET MVC 3 和 NHibernate 脚手架

    我找到了这篇文章 http blog stevensanderson com 2011 01 13 scaffold your aspnet mvc 3 project with the mvcscaffolding package htt
  • Heroku SSL 端点 - “没有这样的应用程序”

    有什么想法为什么当我访问 herokussl com URL 时 添加证书和 Heroku SSL 端点后 可能会收到 No Such App 错误 我按照这里的说明进行操作 https devcenter heroku com artic
  • 检测到依赖循环导入/无循环

    我正在尝试在 ES6 中设置 API 端点 在我的主服务器文件中 我尝试导入路由器模块 但收到错误 检测到依赖循环导入 无循环 请在下面找到我的代码以获得许可和帮助 import express from express import bo
  • 球体上的 3D 坐标为纬度和经度

    我得到以下信息 存在一个原点为 0 0 0 半径为 R 的球体 进行射线球体相交后 我知道 3D 空间中球体上的一个点 XYZ 直线穿过球体外壳的 3D 空间中的确切位置 对于我的程序 我想计算球体上 XYZ 点的纬度和经度 但我无法想出
  • 删除所有 Git 提交历史记录

    我正在尝试从 Github 获取一个存储库 恢复过去的标签 将其推送到另一个远程并删除所有历史记录 除了删除所有提交日志之外 我可以执行以下所有操作 我缺少什么 git clone https github com user user re
  • asp.net mvc 模型与实体框架模型

    在 asp net mvc model 文件夹中创建模型是最佳实践吗 将这些模型与您的视图结合使用 并使用服务层将我的模型 调整 为 EF 模型 或者您是否使用过其他方法 这种方法的问题在于 大多数时候我的 自制 模型是 EF 模型的副本