我工作的MVC3项目,我们已经创建了项目结构,以保持我们的课是这样的:
- 模型类在MVC项目的默认位置。
- 我们已经添加了包含与数据库字段(列)名称匹配的属性的新项目实体。
- 用于(数据访问稍后)DAL和(商业访问层)BAL的单独项目。
现在怎么一切正常:
模型类包含在实体项目的属性,也我们我们的发展作为例如辅助性过程中需要一些额外的属性映射属性SubmissionType属性来检查我们使用相同的发布方法(比如保存,更新或删除)提交的提交类型。
实体项目将只包含将数据库中的列名映射的属性,BAL将与实体项目类交互以获取或分配需要数据库操作的值。
实体项目中的类将获取或从Model类中分配值。这是因为我们的主要项目可以参考Entity和BAL项目,但反之亦然。
好吧,现在问题是这些映射将如何完成?我的意思是从模型到实体类分配值,反之亦然。 为此,我们需要在我们的项目“Omu.ValueInjecter”中添加一个dll。您可以从here下载。只是需要将其添加到我们的应用程序,它会照顾测绘的事情在短短的一行是这样的:
EmployeeEntities entity = new EmployeeEntities();
entity.InjectFrom(model);
在这里,我分配从模型到实体值这是我从POST方法了。现在,此实体对象将传递到BAL并从BAL传送到DAL。 通过实施这个解决方案,你甚至不需要从你的项目之外移动你的模型,这是我猜测的一个痛苦的努力。
希望此解决方案将帮助您
您必须在项目中包含包含这些引用的DLL。如果他们是系统DLL的,你必须在正确的操作系统和.NET Framework版本上运行。 – 2013-04-30 18:10:44
这没有任何意义,我只是说在我的类库项目中单击“add refrences”并搜索缺少的DLL不起作用,因为它们不存在于.net或COM部分。它们会自动添加到ASP.net项目中,但不会添加到我的类库中。另外我使用VS.NET在Windows 7上使用ASP.net MVC3 – TheWebs 2013-04-30 18:12:18