EF Code First的好处?

时间:2014-11-11 06:20:20

标签: entity-framework

我刚刚开始学习EF,现在开始了解Code First工作流程。从我收集的内容中,您将首先设计对象,然后根据这些对象创建数据库。我似乎无法看到这里的好处。为什么要让数据库模式由对象的层次结构决定?您能使用Code First优化数据库吗?

另外,由于我还没有读到足够的东西,Code First是否完全支持DBMS功能(索引,触发器,sp等)?我问,因为我在一些文章中读到这是最受欢迎的(Code First)。我已经看到了Code Second的一些内容,这些内容来自我所阅读的内容,我认为它更好(现有的数据库,但是以代码为中心的开发?),但也许我遗漏了一些东西或者还没有读完,你们这些可以清除这些事情。感谢。

1 个答案:

答案 0 :(得分:0)

代码的功能首先是相同的,因为您具有在代码中手动表达EF的所有功能的相同功能。主要区别在于您不使用设计器来生成EF代码。这提供了一些好处,因为您可以将实体类与EF上下文分离。这样做的主要好处是,如果您决定切换到另一个orm,您可以使用不必与EF绑定的普通旧c#类。 当然,缺点是您必须手动编码整个模型。

请注意,您不必从代码中生成数据库。您可以针对现有数据库进行编码。