您失去了一些东西。在ORM中,“纯”POCO的用处有限,因为它不会进行更改跟踪。换句话说,当您改变对象并保存更改到上下文时,希望将更改的属性保存到数据库中。使用“纯”POCO,您可以使用基于快照的更改跟踪来实现这一点,但效率相对较低。您也可以使用运行时代理来完成此操作,但这意味着您必须使跟踪属性public virtual,因此您可能不再拥有“POCO”。此外,使用代理意味着您不知道实例的真实运行时类型。您还会失去一些方便的属性,例如EntityState。“纯”POCO无法进行延迟加载。同样,您可以使用代理类型解决此问题,但是,如果您使用代理,则实际上没有“纯”POCO。除此之外,在Entity Framework中使用POCO实体的需求比其他ORM中少。这是因为您始终可以使用LINQ将实体类型投影到POCO实例上,而无需首先实例化实体实例。因此,在Entity Framework应用程序中始终可以使用“纯”POCO,即使您没有以这种方式映射实体。