我们的开发团队已经就实体的组合是否应该驱动数据库设计,或者数据库设计应该驱动实体的组合进行了大量讨论。
对于处理过此问题的人,您的理念是什么?当然,并不是每个实体都 1:1 映射到数据库表。但是,对于那些这样做的人,您是如何处理的? IOW,哪个先有数据库表,然后是相应的实体,或者一个实体,然后是数据库表来持久化它?
谢谢。
最佳答案
“实体,然后是一个数据库表来持久化它”
实体是您的程序所操纵的。这就是正在处理的内容的本质。
该实体的数据库表示(如平面文件表示或 GUI 表示)只是该实体的方便表示。
当涉及到关系数据库特别不擅长的某些事情时,您可能需要考虑一下数据库表示。例如,多对多关系需要引入一个额外的表,因为数据库具有您的对象模型所没有的限制。您可能有一些实体设计注意事项来处理这个问题,但这些都是少数且易于理解的。
数据库不太重要。
实体定义是核心和必要的。
关于c# - ORM - 数据库架构驱动实体组合还是反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259942/