gpt4 book ai didi

sql-server - 在数据库中创建一个新行后,我应该将主键返回给该行还是一个数据传输对象?

转载 作者:搜寻专家 更新时间:2023-10-30 20:03:35 25 4
gpt4 key购买 nike

我有一个三层系统、SQL Server 后端、手写数据访问层并使用存储过程。

我有一个名为 EventTable 的表。每一行都是一个“事件”。一个事件有一个主键和一个开始日期。

CREATE TABLE EventTable
(
ID INT IDENTITY(100,1) PRIMARY KEY,
StartTime DateTime NOT NULL
)

有一个名为 EventTable_Create 的存储过程。顺带一提,create 方法写的没问题吗?

CREATE PROCEDURE Event_Create
@NewID INT OUT
AS
DECLARE @START DATETIME
SELECT @START = getdate()
INSERT INTO EventTable VALUES(@START, NULL)
SELECT @NewID = MAX(ID) FROM EventTable
GO

数据访问层返回一个 int 给调用者,但它是否应该返回一个名为 Event 的数据传输对象的实例?如果是这样,我是否应该同时返回新创建的 ID 和开始时间,以便数据访问层可以创建事件传输对象?

最佳答案

这完全取决于您通过数据访问在领域层中需要什么。由于您是通过从域层传递信息来创建它的,因此我假设您已经在域逻辑中拥有大部分事件信息。在这种情况下,您只需要一个 ID 即可将其填充为事件对象的一部分(如果您有的话)。

所以这完全取决于您在域层中需要什么以及出于什么原因。

关于sql-server - 在数据库中创建一个新行后,我应该将主键返回给该行还是一个数据传输对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/809738/

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