gpt4 book ai didi

c# - 如何在 FluentMigrator 的迁移中检索插入的标识

转载 作者:行者123 更新时间:2023-11-30 16:11:37 27 4
gpt4 key购买 nike

在迁移过程中,我如何插入到我的表中,然后检索 ID,然后使用它在另一个表中插入相关数据。

我现在拥有的是一个很难插入的 ID,但我不知道运行迁移时它会是什么。

var contactId = 2;
var phoneNumber = 2;

Insert.IntoTable("Contacts")
.WithIdentityInsert()
.Row(new
{
Id = contactId,
TimeZoneId = contact.TimeZoneId,
contact.CultureId,
Type = (byte)(int)contact.Type,
Email = contact.Email.ToString(),
EntityId = entityId
});

Insert.IntoTable("PhoneNumbers")
.WithIdentityInsert()
.Row(new
{
Id = phoneNumberId,
phone.Number,
Type = (byte)(int)phone.Type,
ContactId = contactId
});

我希望能够检索插入的 ID 并将其用于第二个插入而不是对其进行硬编码。

如果有任何帮助,我正在使用 SQL Server...

我认为这会很微不足道,但在谷歌搜索之后似乎并非如此,但在这里没有看到任何答案。

最佳答案

您可以通过在 .Row() 调用之后链接 .WithInsertIdentity() 来手动插入 ID。

这将使您可以将其保存在内存中,以便在其他对象中用作外键。不幸的是,直到 Up()Down() 方法中的所有代码执行完毕后,FluentMigrator 才真正执行任何 SQL。

关于c# - 如何在 FluentMigrator 的迁移中检索插入的标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24167605/

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