c# - ORM - 数据库架构驱动实体组合还是反之亦然?

标签 c# sql-server linq-to-sql orm entity

我们的开发团队已经就实体的组合是否应该驱动数据库设计,或者数据库设计应该驱动实体的组合进行了大量讨论。

对于处理过此问题的人,您的理念是什么?当然,并不是每个实体都 1:1 映射到数据库表。但是,对于那些这样做的人,您是如何处理的? IOW,哪个先有数据库表,然后是相应的实体,或者一个实体,然后是数据库表来持久化它?

谢谢。

最佳答案

“实体,然后是一个数据库表来持久化它”

实体是您的程序所操纵的。这就是正在处理的内容的本质。

该实体的数据库表示(如平面文件表示或 GUI 表示)只是该实体的方便表示。

当涉及到关系数据库特别不擅长的某些事情时,您可能需要考虑一下数据库表示。例如,多对多关系需要引入一个额外的表,因为数据库具有您的对象模型所没有的限制。您可能有一些实体设计注意事项来处理这个问题,但这些都是少数且易于理解的。

数据库不太重要。

实体定义是核心和必要的。

关于c# - ORM - 数据库架构驱动实体组合还是反之亦然?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259942/

相关文章:

php - sqlsrv 在 azure 上找不到驱动程序 laravel

sql-server - 如何在 Visual Basic 6 ListView 上进行多列排序?

c# - 如何使用 linq2sql 模拟 nhibernate 存储库模式?

c# - 启用应用程序栏时键盘和文本框之间出现奇怪的间隙

c# - 以编程方式更改 ScrollViewer 中的滚动条宽度

sql - 与选择顶部相反

c# - Linq 语句需要优化

c# - 如何将自定义配置提供程序添加到azure函数

c# - 使用数学算法随着时间的推移增加值(value)

c# - LINQ转SQL