我知道这个问题之前已经被问过无数次了,因为我已经阅读了很多关于利弊的文章,但是我仍然不能确定哪种方法适合我。 我对networking编程非常陌生,来自SQL DB Admin /报告撰写背景。 我已经决定尝试build立自己的网站,这个网站可能会在将来有30-40张桌子。 我已经看过两种方法,我喜欢实体模型的方法,因为我喜欢简单的devise师,我喜欢看到整个模型在我面前,它显示在一个快照的整体画面。 此外,我不是一个强大的程序员,我对它使用DbContext生成器模板生成POCO的方式留下了深刻的印象,并且完成了类之间的所有连接。 但是,尽pipe我喜欢模型优先方法,但是我觉得还有一些缺点,我不确定它们是否存在实际缺陷,或者我对模型第一方法和代码优先方法不够了解,因为我仍然很新的这个。 我对使用模式优先方法犹豫不决的原因是: – 主要是因为我在使用MVC 3的模式第一种方法上苦苦寻找教程。我发现使用DbContext的最好的教程是Julie Lerman,但是她并没有介绍使用数据注释和使其他在您重新生成POCO时不会丢失的更改。 大多数与MVC 3相关的教程似乎都使用了代码优先的方法。 大多数人认为这是因为导师不想把重点放在EF上,而是显示出更多的MVC。 我个人认为这是因为微软在其他方面支持Code First方法:) – 如果创build好友类是一个好习惯,为什么我找不到很多教程来展示MVC 3? Buddy类是View Models的另一个名称吗? 为什么我无法find任何教程由微软显示这些好友/视图模型使用MVC 3? – 我试图做两个表之间的基本1对1关系。 在模型中,首先必须将每个表的身份关键字设置为相同的字段,而不是在其中一个表中使用FK,当您有3个或更多表通过1对1关系相互关联时,可能会有点混淆。 在代码中,第一个方法是使用模型构build器并手动进行设置。 我想在MF中,你可以通过进入我根本不想做的XML来改变关系。 – 对代码优先问题的更多支持/帮助 我犹豫使用Code First方法的原因是: 我是一个新手编码器。 – 随着项目的扩展,我们很难跟踪表格和关系。 – 没有模型图,我不得不说我真的喜欢这个想法。 – 通过configuration类映射实体到数据库我觉得不可能:)。 更新表格将需要更改代码和数据库。 在模型中,首先只有一个模型会自动更新数据库和代码,说如果你使用好友类,你也可能需要更新这些。 现在我也看到有些人将Code First和Database第一种方法结合在一起,因为您不要让Code First生成数据库,而是手动创build数据库,并使用代码第一个API来获得它。 我的脑袋正旋转着所有的select和弊端,利弊。 我只是想创build我的网站,而不是思考采取哪种方法。 任何人都可以根据我所说的和/或他们认为未来更主stream的方式,给我一些他们认为最好的方法的见解吗? 非常感谢戴夫