跟踪新领域ASP.NET MVC核心的最佳方式

问题描述 投票:-1回答:1

我有一个追踪供应商和工作数据库。对于每个工作我在我的数据库四套供应商和他们所有的信息点。什么是占第五厂商的最佳方法是什么?我应该修改我的数据库,并添加了一堆额外的域的潜在额外的供应商?或者我会创建一个字段,只有生活在一个C#类或类似的东西?我的应用程序是一个数据库,第一个设计,如果该事项。

编辑使用实体框架的核心和PostgreSQL

sql postgresql asp.net-core database-design entity-framework-core
1个回答
1
投票

这个问题是更多的数据库架构,而不是编程。

这听起来像你可能有一个小于理想的数据库模式被卡住。所以,你可能只需要对付它和如果你不能重组你的数据库架构的其他人所定义的同样的方法添加其他供应商。

我将介绍“正确”的方式做到这一点。做这种方式的主要优点是不重复的数据(如果我没有理解你的权利,那么,如果一个供应商的工作在几个工作,那么你必须复制在每个作业的供应商数据)。

当你有两个实体,如“供应商”,并且是相互关联的“工作”,那么你通常会为每个表(一供应商表和作业表)。

如果每个作业可以由几家厂商来处理,每个供应商可以在几个从事的工作,那么这就是被称为“多对一对多”的关系,通常一个单独的表与两列(厂商ID和的JobId)来定义关系创建。

如果您正在使用实体框架,然后EF可以处理许多一对多使用集合的关系:每个供应商将有一个乔布斯的财产,这是供应商参与作业的集合同样,每个工作将有一个供应商采集。你实际上并不需要看到你的代码映射表。

有关如何在SQL处理关系的更多信息,here

关系是如何定义和实体框架使用的讨论here(这是特定于EF6,但校长在EF核心相同)。

© www.soinside.com 2019 - 2024. All rights reserved.