use*_*615 5 c# nhibernate nhibernate-mapping sql-server-ce nhibernate-mapping-by-code
我正在使用SQL CE运行NHIbernate解决方案.我正在映射一个表中的字段,如下所示.但是,为了运行一些数据导入,我需要能够暂时关闭身份,以便我可以使用现有密钥导入数据,然后在导入完成后重新打开身份.
我已经尝试直接从解决方案中运行SQL查询,如下所示:
session.CreateSQLQuery(@"SET IDENTITY_INSERT [Article] ON");
Run Code Online (Sandbox Code Playgroud)
但这似乎没有效果.
有没有办法暂时打开和关闭它?
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);
});
Run Code Online (Sandbox Code Playgroud)
最终事情相当简单。
sql行应该是这样的:
session.CreateSQLQuery(@"SET IDENTITY_INSERT [Article] ON").ExecuteUpdate();
Run Code Online (Sandbox Code Playgroud)
并且它需要在交易中。但是,您只能在每个事务的一张表上执行此操作,因此对我没有多大帮助。
| 归档时间: |
|
| 查看次数: |
1040 次 |
| 最近记录: |