0

我将我的模型从我的主要 ASP.net MVC3 应用程序中分离到一个类库中,该类库与我的项目属于同一解决方案,并被我的项目引用。

这个类库中的模型(我将模型文件夹复制到类库中)是如何说的,甚至system.web.MVC不存在。.SecuritySystem.Component.DataAnnotations

所以我假设我可以右键单击引用并单击“添加引用”并找到那些 .net 库,但可惜它们不存在。

那么如何将它们包括在内呢?所以我可以使用数据注释、安全性和(显然)MVC?

4

2 回答 2

0

我正在研究 MVC3 项目,我们创建了项目架构来维护我们的类,如下所示:

  1. 模型类在 MVC 项目中的默认位置。
  2. 我们添加了新的项目实体,其中包含与数据库字段(列)名称匹配的属性。
  3. (稍后的数据访问)DAL 和(业务访问层)BAL 的单独项目。

现在一切如何运作:

模型类包含映射实体项目中的属性的属性以及我们在开发过程中需要的一些额外属性作为辅助属性,例如 SubmissionType 属性,以检查我们使用相同的发布方法(如保存、更新或删除)所做的提交类型.

实体项目将仅包含映射数据库中列名的属性,BAL 将与实体项目类交互以获取或分配需要数据库操作的值。

实体项目中的类将从模型类获取或分配值。这都是因为我们的主项目可以引用实体和 BAL 项目,反之则不行。

好的,现在问题是这些映射将如何完成?我的意思是将值从模型分配给实体类,反之亦然。为此,我们需要在我们的项目"Omu.ValueInjecter"中添加一个 dll 。您可以从这里下载。只需要将它添加到我们的应用程序中,它就会在一行中处理映射,如下所示:

      EmployeeEntities entity = new EmployeeEntities();
      entity.InjectFrom(model);

在这里,我将模型中的值分配给从 post 方法获得的实体。现在这个实体对象将被传递给 BAL 并从 BAL 传递给 DAL。通过实施这个解决方案,您甚至不需要将您的模型从您的项目之外移动,我猜这是一个痛苦的努力。

希望此解决方案对您有所帮助

于 2013-05-01T08:37:24.853 回答
0

看起来您没有安装 ASP.NET MVC 框架。如果您安装了它们,它们应该显示在您的“参考资源管理器”从中提取其 dll 的 GAC(全局程序集缓存)中。您可以通过 C:\Windows\Assembly 访问 gac。

于 2013-04-30T18:12:42.717 回答