在基于 Entity Framework Code First 的相当大的系统上工作,但需要注意的是,我一直在使用 EF4 并且无法升级到 5,您的里程可能会有所不同,并且结果将受到您打算做的事情的强烈影响,我的经验是 EF 不能很好地处理大量数据,它非常不灵活,所以如果你需要以某种方式改变它的标准行为,你很有可能最终不得不破解一些讨厌的东西变通方法,性能并不惊人。如果你想做的事情与 EF 不希望你做的事情完全一样,那么你可能会碰壁。
如果我正在考虑设计一个相对简单/小规模的 Asp.Net MVC 设置,我认为 EF 是一个非常好的选择。对于需要更大灵活性或计划超越基本操作的大规模操作,您可能会发现像 NHibernate 这样的东西效果更好。我没有这方面的经验,但与这两者合作过的同事往往更喜欢 NHibernate。(关于比较的简短文章- 有点旧,所以 EF 已经解决了一些问题,但不是所有问题。当然,它在设计上也有所不同。)
对于更多高流量或不寻常的东西,您可能需要滚动自己的数据访问,以实现正确的性能或能够找到正确的数据。毫无疑问,如果您打算尝试使用 EF,我强烈建议您进行一些认真的原型设计,以确保它可以满足您的需求。