【问题标题】:在电影院订票 ASP.NET CORE(实体框架)
【发布时间】:2022-01-23 07:38:03
【问题描述】:
大家好,论坛成员。
任务:在电影院订票。
(附上设计的电路)。
其实问题:
-
用什么来链接表“Place”? (一堂课,不同的客户不可以订同一个地方,一个客户也不可以一堂课订两次同一个地方)
-
在哪个表中定义价格属性更好?
附:我正在使用实体框架(代码优先)编写一个 ASP.NET CORE 应用程序。
【问题讨论】:
标签:
asp.net
entity-framework-core
ef-code-first
【解决方案1】:
在我看来,地方应该有一个会话集合和一个客户集合,一个会话应该有一个地方,一个客户应该有一个地方。过滤时,您将使用属性来查明客户是否预订了会议地点,以及他是否预订了同一地点进行会议。
例如,如果您当前的 Customer.PlaceId == Session.PlaceId 他已经为当前会话预订了地点,并且如果他已经预订了该地点,那么您的逻辑将是他不能为该会话再次预订。如果该当前客户已为该会话预订了该位置,则再次使用每个表中的 ForeignKey,您将确保没有其他客户将为该会话预订相同的位置。
关于价格属性,我认为应该在订单中。这样,客户就会知道他的订单价格,而您不必使用任何其他列来获取某物的价格。我有一个类似的任务,虽然它没有地方:
它是客户 投影 -> 电影,但我无法提供每个表之间关系的图片,而门票表就是其中一个,包含价格属性。