简体   繁体   English

EF4通过脚本插入数据

[英]EF4 insert data via scripts

I know that by default EF Code First sets StoreGeneratedPattern = Identit. 我知道默认情况下,EF Code First将StoreGeneratedPattern设置为Identit。 It's OK. 没关系。 But I want to insert some part of data via sql script. 但是我想通过sql脚本插入部分数据。 I know that just one table in time can be SET IDENTITY_INSERT Rules ON; 我知道只有一个表可以被SET IDENTITY_INSERT Rules ON;

But when I try to run 但是当我尝试跑步时

USE [GameDatabase]
GO

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

--RULES OF GAME
SET IDENTITY_INSERT RulesOfGames ON;
INSERT INTO RulesOfGames(RulesOfGameId, MaxScore, IsPossibleEqualsScore) VALUES(1, 20, 1);
SET IDENTITY_INSERT RulesOfGames OFF;

--KindSport
SET IDENTITY_INSERT RulesOfGames ON;
INSERT INTO KindSports(KindSportId, Name, RulesOfGame_RulesOfGameId) VALUES(1, 'Футбол', 1);
SET IDENTITY_INSERT KindSports OFF;

I get error. 我出错了。 And I want to set particular ids for setting particular logic constrains. 我想设置特定的ID来设置特定的逻辑约束。

Msg 8107, Level 16, State 1, Line 3
IDENTITY_INSERT is already ON for table 'GameDatabase.dbo.KindSports'. Cannot perform SET operation for table 'RulesOfGames'.

How I can resolve my problem? 我该如何解决我的问题?

SET IDENTITY_INSERT RulesOfGames ON;
INSERT INTO RulesOfGames(RulesOfGameId, MaxScore, IsPossibleEqualsScore) VALUES(1, 20, 1);
SET IDENTITY_INSERT RulesOfGames OFF;

--KindSport
SET IDENTITY_INSERT KindSports ON;
INSERT INTO KindSports(KindSportId, Name, RulesOfGame_RulesOfGameId) VALUES(1, 'Футбол', 1);
SET IDENTITY_INSERT KindSports OFF;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM