gpt4 book ai didi

c# - NHibernate - 暂时关闭身份

转载 作者:太空狗 更新时间:2023-10-29 23:52:06 26 4
gpt4 key购买 nike

我正在使用 SQL CE 运行 NHIbernate 解决方案。我正在映射一个表中的字段,如下所示。但是,为了运行一些数据导入,我需要能够暂时关闭身份,以便我可以使用其现有 key 导入数据,然后在导入完成后重新打开身份。

我试过像这样直接从解决方案运行 SQL 查询:

session.CreateSQLQuery(@"SET IDENTITY_INSERT [Article] ON");

但这似乎没有效果。

有什么方法可以暂时打开和关闭它吗?

Property(x => x.ArticleId, m =>
{
m.NotNullable(true);
m.UniqueKey("UQ_Article_ArticleId");
m.Column(cm => cm.SqlType("INT IDENTITY"));
m.Generated(PropertyGeneration.Insert);
m.Insert(true);
m.Update(false);
});

最佳答案

SQL 应该是一种方法,但我相信你已经颠倒了 IDENTITY_INSERT 的含义。

要允许插入标识列,您需要将其设置为ON

session.CreateSQLQuery(@"SET IDENTITY_INSERT [Article] ON");

在完成批量插入后,将其调回OFF

session.CreateSQLQuery(@"SET IDENTITY_INSERT [Article] OFF");

有关 MSDN 的更多详细信息.

关于c# - NHibernate - 暂时关闭身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12818166/

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