gpt4 book ai didi

c# - 如何将多个值存储在数据库的单个列中?

转载 作者:行者123 更新时间:2023-12-02 17:12:50 25 4
gpt4 key购买 nike

我希望能够在数据库中存储/显示有关不同健身房分店的信息。我有关于每个分支的以下信息。

  1. 身份证
  2. 姓名
  3. 房间号
  4. 容量
  5. 地址

每个分店都有其唯一的地址,每个房间号都有不同的容量和分店名称。我已经搜索并尝试了不同的方法,但我无法修复它。下面的代码显示了我所做的。

将存储每个分支记录的分支模型。

 public class Branch
{
public int Id { get; set; }

[Required]
[Display(Name = "Branch Name")]
[StringLength(50)]
public List<BranchName> BranchName { get; set; }

[Required]
public int RoomNumber { get; set; }

[Required]
[Range(5, 30)]
public int Capacity { get; set; }

[Required]
[StringLength(50)]
public string Address { get; set; }
}

这是带有 RoomNumbers 的 BranchName 模型。

 public class BranchName
{
public int Id { get; set; }

[Required]
public string Name { get; set; }

[Required]
public List<int> RoomNumbers { get; set; }
}

下面的屏幕截图显示了运行迁移时,BranchName 模型没有添加 rooms 属性的列表。

enter image description here

谢谢

最佳答案

您没有完全正确地分解分支和房间的概念。根据您的对象,您表示多个分支可能具有相同的地址,因为您将分支名称存储为一个集合,但只有一个地址。这意味着多个分支机构也会有相同的房间信息,这也是不准确的。您也不只是想存储房间号的集合,因为这样您就必须做更多的工作才能获取关于那个房间的详细信息。

这里有一个更好的分割:

public class Branch
{
public int Id { get; set; }
public string Name { get; set; }
public string Address { get; set; }
public List<Room> Rooms { get; set; }
}

public class Room
{
public int Id { get; set; }
public int BranchId { get; set; }
public int Number { get; set; }
public int Capacity { get; set; }
public bool Available { get; set; }
}

您有一个分支对象,简称为“分支”,其中包含该分支的所有特定详细信息。这同样适用于房间详情。在分支对象中,您有一组 Room 对象来存储有关所有房间的详细信息。通过向房间对象添加一个 BranchId 值,您可以指示该房间及其详细信息仅适用于它实际所在的分支,现在可以扩展 Room 以包含该分支以及任何希望使用它的人都会发现相关的信息。当您获得任何给定分支的详细信息时,还可以轻松快速地获得所有相关房间。

关于c# - 如何将多个值存储在数据库的单个列中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48192965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com