我将我的主要ASP.net MVC3应用程序中的模型分离到一个类库中,该库与我的项目的解决方案相同,并被引用到我的项目中。
这个类库中的模型(我将模型文件夹复制到类库中)表示system.web.MVC
或.Security
甚至System.Component.DataAnnotations
之类的内容不存在。< / p>
所以我假设我可以右键单击引用并单击“添加引用”并找到那些.net库但是它们不存在。
那么如何将它们包含在内呢?所以我可以使用Data annotations,Security和(显然)MVC?
答案 0 :(得分:0)
看起来您没有安装ASP.NET MVC框架。如果你安装了它们,它们应该出现在你的“参考资源管理器”从它的dll中拉出来的GAC(全局程序集缓存)中。您可以通过C:\ Windows \ Assembly。
访问gac答案 1 :(得分:0)
我正在研究MVC3项目,我们已经创建了我们的项目架构来维护我们的类:
现在一切如何运作:
模型类包含映射Entity项目中属性的属性,以及我们在开发过程中需要的一些额外属性,作为例如辅助属性。 SubmissionType属性,用于检查我们使用相同的帖子方法(如保存,更新或删除)进行的提交类型。
实体项目将仅包含映射数据库中列名的属性,BAL将与实体项目类交互以获取或分配需要数据库操作的值。
Entity项目中的类将获取或从Model类中分配值。这都是因为我们的主项目可以参考实体和BAL项目,但反之亦然。
好了,问题是这些映射将如何完成?我的意思是从Model到Entity类分配值,反之亦然。 为此,我们需要在项目“Omu.ValueInjecter”中添加一个dll。您可以从here下载。只需要在我们的应用程序中添加它,它将只需要在一行中映射事物:
EmployeeEntities entity = new EmployeeEntities();
entity.InjectFrom(model);
这里我将模型中的值从post方法中分配给实体。现在,此实体对象将传递给BAL,并从BAL传递到DAL。 通过实施此解决方案,您甚至无需从项目外部移动模型,这是一个痛苦的尝试。
希望此解决方案能为您提供帮助