Entity framework 代码优先 - 创建 table 并将现有 table 中的数据插入到新创建的数据中,
Entity framework code first - create table and insert data from existing table into newly created one,
我首先使用 EF 代码,我想创建一个新的 table 并将现有 table 中的值插入其中。
public override void Up()
{
CreateTable(
"dbo.UserCulture",
c => new
{
UserCultureId = c.Int(false, true),
Id = c.Int(false),
IsSelected = c.Boolean(false),
Culture = c.String(false, 10),
UserLevel = c.Int(false),
CurrentScore = c.Int(false),
TimelinePercentage = c.String(false, 3),
NumberOfGamesPlayed = c.Int(false)
})
.PrimaryKey(k => k.UserCultureId)
.ForeignKey("dbo.AskUser", k => k.Id)
.Index(t => t.Id);
Sql("INSERT INTO UserCulture(UserCultureId, Id, IsSelected, Culture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed)" +
"SELECT newid(), UserId, 1, CreatedCulture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed FROM AskUser");
}
当我 运行 此迁移时,它创建了 table 但它是空的。有谁知道我应该怎么做?
newid() 用于唯一标识符?
您可以尝试删除插入语句中的该列吗?
Sql("INSERT INTO UserCulture(Id, IsSelected, Culture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed)" +
"SELECT UserId, 1, CreatedCulture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed FROM AskUser");
我首先使用 EF 代码,我想创建一个新的 table 并将现有 table 中的值插入其中。
public override void Up()
{
CreateTable(
"dbo.UserCulture",
c => new
{
UserCultureId = c.Int(false, true),
Id = c.Int(false),
IsSelected = c.Boolean(false),
Culture = c.String(false, 10),
UserLevel = c.Int(false),
CurrentScore = c.Int(false),
TimelinePercentage = c.String(false, 3),
NumberOfGamesPlayed = c.Int(false)
})
.PrimaryKey(k => k.UserCultureId)
.ForeignKey("dbo.AskUser", k => k.Id)
.Index(t => t.Id);
Sql("INSERT INTO UserCulture(UserCultureId, Id, IsSelected, Culture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed)" +
"SELECT newid(), UserId, 1, CreatedCulture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed FROM AskUser");
}
当我 运行 此迁移时,它创建了 table 但它是空的。有谁知道我应该怎么做?
newid() 用于唯一标识符? 您可以尝试删除插入语句中的该列吗?
Sql("INSERT INTO UserCulture(Id, IsSelected, Culture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed)" +
"SELECT UserId, 1, CreatedCulture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed FROM AskUser");