簡體   English   中英

首先是實體框架代碼-創建表並將現有表中的數據插入到新創建的表中,

[英]Entity framework code first - create table and insert data from existing table into newly created one,

我首先使用EF代碼,我想創建一個新表並將現有表中的值插入其中。

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");

        }

當我運行此遷移時,它創建了表,但是它是空的。 有誰知道我該怎么辦?

newid()是否用於uniqueidentifier? 您可以嘗試在插入語句中刪除該列嗎?

Sql("INSERT INTO UserCulture(Id, IsSelected, Culture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed)" +
                "SELECT UserId, 1, CreatedCulture, UserLevel, CurrentScore, TimelinePercentage, NumberOfGamesPlayed FROM AskUser");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM