我正在构建一个asp.net mvc应用程序供用户输入作文比赛。我在sql server 2005中有一个Essay表。我通过拖动服务器资源管理器中的表格来创建域模型,并将布局保存为我所命名的DAL.dbml。使用.dbml设计器时,应将模型特定的代码放在哪里?
我现在试图使用Steven Sanderson在Pro ASP.NET MVC Framework的第11章中提到的方法在业务层中实现输入字段验证。但是,作者并没有像我一样创建自己的模型,所以我对于在哪里放置特定于模型的代码感到不知所措。
我认为把它放到自动生成的DAL.designer.cs文件中,但这似乎有问题。
我也试过创建一个新的类,EssayRequired.cs,我在那里做了EssayRequired扩展论文。这几乎奏效。
它成功显示了所有的验证错误。
但是,当谈到时间居然保存记录:
EssayTable.Context.Refresh(RefreshMode.KeepCurrentValues, essay);
EssayTable.Context.SubmitChanges();
我得到这个错误:
类型“DomainModel.Entities.EssayRequired”不是映射为一个表。
有关我现在应该做什么的任何想法?有没有更好的地方可以放置域特定的代码,如果数据库表发生更改,这些代码将不会被清除,我必须删除并重新拖动该表。
或者有没有办法告诉应用程序,EssayRequired对象应该在Essay表中登陆?
谢谢,斯科特