在EF Core中自动生成字符串值表

时间:2020-08-10 14:44:12

标签: database postgresql asp.net-core entity-framework-core ef-core-3.1

我有一个名为Customer的表,该表具有名为National CodeName的几列。它还具有许多其他功能,称为Contact NumbersRecommenders,因为Contact NumbersRecommenders的数量不止一个,因此您需要其他一些表来存储它们。 还要假设我还有其他表,例如Customer,每个表的许多属性都大于一个。

  1. 您对存储这些值有何建议?
  2. 在一个资料中,建议对于每个表,使用一个名为StringValue的表进行存储。 EF core是否有一种无需编写其他代码即可实现StringValue的方法?

示例:

   Customer Table:

   CustomerId         Name         NationalCode
   ------------------------------------------------------------------------
    1                 David         xxxx
   ------------------------------------------------------------------------
  
   

   StringValue Table:

   StringId         CustomerId         StringName         Value
   ------------------------------------------------------------------------
   10                 1                PhoneNumber        915245
   11                 1                PhoneNumber        985452
   12                 1                PhoneNumber        935446
   13                 1                Recommenders       Mr Jhon
   14                 1                Recommenders       Mr bb
   ------------------------------------------------------------------------

1 个答案:

答案 0 :(得分:1)

我认为,为具有多个记录的字段创建一个新表是更直观的,然后在两个表之间配置一对多关系。以您的情况为例,您可以将客户表分为三个表,它们可以通过外键链接:

1。客户表:

CustomerId        Name         NationalCode
---------------------------------------------
1                 David        xxxx

2。联系表:

Id        CustomerId         PhoneNumber
---------------------------------------------
1         1                  915245
2         1                  985452
3         1                  935446

3。推荐人表:

Id        CustomerId         RecommenderName
---------------------------------------------
1         1                  Mr Jhon
2         1                  Mr bb