0

我将我的模型从主要的ASP.net MVC3应用程序中分离出来,这个类库与我的项目是相同的解决方案,并引用到我的项目中。缺少MVC3中不存在的引用

如何过这个类库中的模型(我复制的模式文件夹上的类库)是说这样的话system.web.MVC.Security甚至System.Component.DataAnnotations不存在。

所以我想我可以右键点击引用,然后单击“添加引用”,然后找到这些.net库,但它们不存在。

那么如何将它们包含进去?所以我可以使用数据注释,安全和(显然)MVC?

+0

您必须在项目中包含包含这些引用的DLL。如果他们是系统DLL的,你必须在正确的操作系统和.NET Framework版本上运行。 – 2013-04-30 18:10:44

+0

这没有任何意义,我只是说在我的类库项目中单击“add refrences”并搜索缺少的DLL不起作用,因为它们不存在于.net或COM部分。它们会自动添加到ASP.net项目中,但不会添加到我的类库中。另外我使用VS.NET在Windows 7上使用ASP.net MVC3 – TheWebs 2013-04-30 18:12:18

回答

0

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

+0

我已经安装了它,我使用VS2010,并使用从Web矩阵安装的Web来安装ASP.net MVC。我不知道,我可以创建并“运行”未安装的MVC项目。 – TheWebs 2013-04-30 18:13:43

+0

我有安装ASP.net MVC3,根据网页安装程序,但没有看到DLL的像Web.security或web.MVC – TheWebs 2013-04-30 18:21:50

+0

当您安装ASP.NET MVC3,这些程序集应该已被加载到GAC(C:\ Windows \部件)。请确认他们在那里。如果他们不在GAC中,那意味着安装过程中出现问题,您应该尝试卸载并重新安装MVC。 – RiceRiceBaby 2013-04-30 18:53:53

0

我工作的MVC3项目,我们已经创建了项目结构,以保持我们的课是这样的:

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

现在怎么一切正常:

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

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

实体项目中的类将获取或从Model类中分配值。这是因为我们的主要项目可以参考Entity和BAL项目,但反之亦然。

好吧,现在问题是这些映射将如何完成?我的意思是从模型到实体类分配值,反之亦然。 为此,我们需要在我们的项目“Omu.ValueInjecter”中添加一个dll。您可以从here下载。只是需要将其添加到我们的应用程序,它会照顾测绘的事情在短短的一行是这样的:

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

在这里,我分配从模型到实体值这是我从POST方法了。现在,此实体对象将传递到BAL并从BAL传送到DAL。 通过实施这个解决方案,你甚至不需要从你的项目之外移动你的模型,这是我猜测的一个痛苦的努力。

希望此解决方案将帮助您