我知道以前曾问过类似的问题。
我开始使用一组xsd生成的数据对象(加上db模型)并且需要将这些几乎1:1保存到单个SQL Server数据库中。实体数量很少(10),db插入/更新/删除(主要是upserts)所需的逻辑很薄(虽然有一些)。
我想知道哪种方法最好?
我特别热衷于维护 - 如果将属性添加到XSD生成的实体中会发生什么,每种方法需要花费多少精力。
我很想和1一起使用,因为逻辑很小并且没有复杂的映射(m:n)。但有可能数据模型将演变为更复杂的领域模型,我们不希望重新实现任何东西。
每个EFx方法在运行时性能方面有多糟糕?
答案 0 :(得分:1)
在这种情况下,您的决定应主要通知您申请的未来方向。
如果您不希望您的实体对Entity Framework程序集(System.Data.Entity)有任何依赖性,则应主要考虑选项3。如果您认为您可能希望将实体/ DAL / BL层作为独立程序集分发或共享给另一个应用程序,请考虑选项3.这将允许您将实体与持久性实现分开。但是,如果您不希望有多个持久性实现并且不关心对EF程序集的依赖性,则选项1或2将正常工作。
在旁注中,鉴于所需的持久性逻辑有限,请务必在实体框架中查看compiled queries以获得较大的性能提升。