App_Code的另一个存储库?在NerdDinner示例中,它包含一些共享接口,函数,具有属性的类等。与App_Code没有太大区别。
答案 0 :(得分:8)
模型文件夹存在的基本思想是保留您操作的对象。这是维护MVC范例(模型 - 视图 - 控制器)的惯例。在基本的ASP.NET MVC应用程序中,您将L2S DataContext类或EF上下文类存储到Models文件夹中。
模型文件夹中对其他类(文件)的需求可以通过部分类的思想来解释:DataContext文件中的所有类都是部分的,因此可以使用其他属性和方法进行扩展。
如果将MVC应用程序划分为多个项目,则根本不需要使用Models文件夹,因为您的DAL将位于您从MVC Web应用程序引用的DLL中。
答案 1 :(得分:5)
与App_Code非常不同,因为App_Code文件夹被视为内容并在运行时编译。 App_Code以这种方式很特别。顺便说一下,如果你想从你的代码中获得编译器错误而不是运行时错误,你应该远离App_Code。
答案 2 :(得分:3)
模型是MVC中的M.虽然默认项目模板中没有提供任何功能,但它意味着由数据访问技术使用。无论是web服务,ado.net,linq to sql,nhibernate等等。
当然你不必把它放在那里你可以将项目的每个部分都放在它自己的项目中,这取决于你。它只是帮助促进MVC模式,没有实际功能。
答案 3 :(得分:0)
模型文件夹更像是MVC-模型视图控制器的约定。您可以使用任何文件夹来存储模型,甚至可以使用其他程序集,这取决于您的项目结构要求或愿望。
答案 4 :(得分:0)
我们通常将dbmls存储在该文件夹中。你可以,正如@diadiora解释的那样,添加一个程序集或你的数据层代码。
这是聚合MVC模式的功能方面的一种方法。就像你启动Ruby on Rails应用程序时一样,我认为微软正在努力实施自以为是的编程和结构原则。
答案 5 :(得分:0)
在我们使用llblgen模型的项目中,我有一个名为llblgen的文件夹用于生成的模型,还有一个文件夹自定义我们自己构建的东西。
你可以使用你想要的文件夹,只是尝试整理一些逻辑,所以不熟悉你的项目的人可以理解它。