LINQ to SQL或Entity Framework再次为新的MVC 3项目

Art*_*hur 3 entity-framework scaffolding linq-to-sql asp.net-mvc-3

首先,我的背景是:MS SQL Server上相当大的数据库(约100个表,每个约10-20列),它始终是SQL Server和数据库.

我在WebForms和LINQ to SQL方面有一些经验,但是我厌倦了构建用于编辑所有提到的表的表单,所以mvc 3 razor用它的Scaffolding只是催眠了我,我梦想它为我生成所有形式

但它出来(或者,也许,我没有得到的东西),脚手架只适用于EF DbContext.对于L2S,它说"不支持的DbContext".我已经尝试使用LinqToSqlScaffolding进行MvcScaffolding(在PM控制台中键入'Set-DefaultScaffolder Repository LinqToSqlScaffolding.Repository'),但仍然不是L2S相关映射.

所以第一个问题是 - "有没有办法(一种稳定的方式)来获取Linq to SQL类的脚手架"

现在我已经调查了一些并发现了所有关于L2S与EF的话题,并说同样的话 - "L2S排在第一位,所以它更稳定,EF还很年轻,但它是一个长镜头,它是灵活的,可映射的,所以上".

我没有得到的第一件事是我应该如何为我的企业数据库映射灵活的模型?我已经使用设计器为EF DbContext生成类,正如我之前为L2S所做的那样,而对于L2S,它由~42000行组成.现在我必须在那里搜索一些实体属性并为它们设置一些属性,如"必需","显示"和"范围",但设计师将覆盖它们.我知道如何实现部分类或部分方法,但不知道在外部文件中对属性进行任何添加,因为设计者无法覆盖它们.我想,这应该是第二个问题.

如果我应该手动将我的企业数据库映射到EF,以保持灵活性... o_O〜42000行自动生成的类让我害怕!真的有必要吗?

Gal*_*boy 6

  1. 实体框架最近取得了很大进展.我认为它"稳定".与MVC3的新集成非常出色.
  2. 至于添加自定义DataAnnotation属性以进行验证,本文介绍了使用EF的方法.(向下滚动到底部.)由于无法修改生成的属性,因此它使用自定义元数据映射来应用它们.
  3. 你真的想让它尽可能多地为你生成,以防止疯狂.EF的设计表面与L2S非常相似,您可以根据需要获得简单或复杂的设计.

此外,MVC3将根据任何对象模型为您生成强类型视图.主要区别在于,使用EF,它会为您连接一切,而使用自定义POCO或L2S,您必须自己完成所有管道.(从这个角度来看,这与早期版本的MVC完全一样.)