Asp.net mvc 从MVC2的实体框架生成模型类

Asp.net mvc 从MVC2的实体框架生成模型类,asp.net-mvc,entity-framework,asp.net-mvc-2,Asp.net Mvc,Entity Framework,Asp.net Mvc 2,我正在关注Steven Sanderson的“Pro ASP.Net MVC2 Framewok”,它使用Linq2SQL。他使用抽象工厂方法来支持单元测试和模拟,并在一个单独的项目中编写模型类来促进这一点 我使用LINQtoEntity框架而不是Linq2SQL,并且从现有数据库在EF中构建了一个实体模型。(这一切我都不熟悉) 我不太明白我是否理解正确,但我认为我仍然应该生成在EF之外定义的模型类(EF和表示之间的层?),即使我可以直接将Linq2EF查询结果实体作为MVC的模型传递进来(安全

我正在关注Steven Sanderson的“Pro ASP.Net MVC2 Framewok”,它使用Linq2SQL。他使用抽象工厂方法来支持单元测试和模拟,并在一个单独的项目中编写模型类来促进这一点

我使用LINQtoEntity框架而不是Linq2SQL,并且从现有数据库在EF中构建了一个实体模型。(这一切我都不熟悉)

我不太明白我是否理解正确,但我认为我仍然应该生成在EF之外定义的模型类(EF和表示之间的层?),即使我可以直接将Linq2EF查询结果实体作为MVC的模型传递进来(安全性?关注点分离?)

所以我希望EF为我存根模型类,而不是从头开始手工编写它们。有没有一个简单的方法可以做到这一点,还是我误解了我需要做的事情?

看看这个关于这个主题的伟大资源


如果您打算使用ViewModels,我强烈建议您使用from souceforge

EF将为您构建一个完整的对象图。您将得到一个容器类,它应该向您公开所有的“表”。然后可以创建容器的实例并使用LINQ查询表。如果需要扩展任何模型类,只需创建新的分部类。这节省了重新生成EF模型时的工作量。@TomascmGuinness:是的,我得到了这部分。然而,从我所读到的,仅仅以这种方式直接使用EF实体,作为MVC的模型,并不是一种适当的关注点分离,我也不能很容易地进行单元测试。如果你读了Csharper引用的博客文章,你就会明白我在说什么。谢谢。我找不到AutoMapper的任何文档,你能给我指点什么吗?