Asp.net mvc 在单独的部件中使用MVC2.0和模型
Asp.net mvc 在单独的部件中使用MVC2.0和模型,asp.net-mvc,linq-to-sql,bll,Asp.net Mvc,Linq To Sql,Bll,我是MVC新手,尽管有很多(我的意思是很多)非常有用的信息,但很难清楚地了解如何使用MVC 2.0实现我的确切需求
我想建立一个如下的解决方案:
使用MVC2.0项目提供web UI
使用Linq到SQL类项目进行数据持久化
我有两个独立的代码模块,需要访问上面的Linq-to-SQL模型,因此我无法将我的Linq-to-SQL模型直接包含在MVC项目本身中
在我的LINQtoSQL项目前面还有一个业务逻辑层
我的问题是:
如何设置MVC应用程序的模型部分,以通过BLL指向Linq到SQL
我是MVC新手,尽管有很多(我的意思是很多)非常有用的信息,但很难清楚地了解如何使用MVC 2.0实现我的确切需求
我想建立一个如下的解决方案:
- 使用MVC2.0项目提供web UI
- 使用Linq到SQL类项目进行数据持久化
- 我有两个独立的代码模块,需要访问上面的Linq-to-SQL模型,因此我无法将我的Linq-to-SQL模型直接包含在MVC项目本身中
- 在我的LINQtoSQL项目前面还有一个业务逻辑层
我的问题是:
- 如何设置MVC应用程序的模型部分,以通过BLL指向Linq到SQL项目
- 如何执行web应用验证?我可以使用MVC2.0模型验证吗?如果没有,还有什么选择
- 最后(稍微放一放)-什么是ViewModel,它与模型有何不同
这么多问题。但这是一项令人兴奋的新技术,除了数据访问问题之外,其他所有我必须很快解决的问题,我认为MVC2.0非常棒
感谢您提供的任何建议
如何设置我的模型部分
MVC应用程序指向我的Linq to
通过我的BLL的SQL项目
通常,您会为此使用存储库模式。控制器具有对存储库的引用-存储库从数据库返回域对象。MVC应用程序不知道LINQ to SQL是否存在
如何执行web应用验证?
我可以使用MVC2.0模型验证吗?如果
不是,还有什么选择
将视图模型放在MVC项目中。这些视图模型可能与您的域模型密切相关,但它们关注的是表示模型。将数据注释放在这些视图模型上进行验证——MVC框架将自动确保在这些用数据注释装饰的视图模型上进行验证。它是可插拔的,所以您可以使用替代方案——但对于MVC2,它的嵌入相当好,这包括客户端验证
最后(稍微放在一边)是什么
ViewModel和它有何不同
从模型中
我部分回答了上面这个问题。域模型的形状可能不是显示视图所需的形状-视图模型很好地弥补了这一差距。此外,即使形状确实匹配,视图模型仍然是一个好主意,这样您就可以在其中放置UI验证代码和其他表示元数据(因为您不希望域模型上有任何与表示逻辑相关的内容)
这里是链接
希望这有帮助
可以添加对从BLL部件中公开的对象的引用,并将其用作模型
当您要向生成的类添加验证时,请使用
ViewModel是模型数据的自定义形状聚合。每个视图只有一个视图,因为ViewModel的目的是以方便简洁的方式精确显示特定视图所需的数据
例如,包含订单和订单详细信息的视图。ViewModel可以保存对每种类型的存储库和业务对象的内部引用。ViewModel的属性将来自这些对象的数据合并在一起
ViewModels在您的情况下也很有用,因为您希望模型位于单独的部件中。您可以将DataAnnotations应用于ViewModel属性以进行验证。您将使“原始”业务对象模型成为ViewModels的内部属性,并公开用于检索和持久化数据的公共方法