微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

entity-framework-4 – 如何使用SQL Compact 4首先使用Entity Framework 4代码在ID列上设置Identity种子?

我在使用代码优先方法sql Compact 4中的Id列上设置Identity Seed时遇到了一些问题.

我试过这个

context.Database.ExecutesqlCommand("DBCC CHECKIDENT ('Members',RESEED,100001");

但这在sql Compact中不起作用.

MyDbContext:

protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {



        SetupMemberEntity(modelBuilder);


    }

    private static void SetupMemberEntity(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Member>().Property(m => m.Id);
            //.Property(m => m.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
        modelBuilder.Entity<Member>().Property(m => m.FirstName).Isrequired();
        modelBuilder.Entity<Member>().Property(m => m.LastName).Isrequired();
        modelBuilder.Entity<Member>().Property(m => m.PinCode).Isrequired();
        modelBuilder.Entity<Member>().Property(m => m.Email);
        //modelBuilder.Entity<Member>().Property(m => m.DateCreated).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Computed);
        //modelBuilder.Entity<Member>().Property(m => m.DateModified).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);


    }

我已经向成员实体添加一个属性MemberId并尝试使用

context.Database.ExecutesqlCommand("ALTER TABLE Members ADD MemberId INT IDENTITY(10000,1) PRIMARY KEY");

但我收到一条错误消息,表只能包含一个标识,但我没有设置任何IDENTITY,Id列自动IDENTITY?

解决方法

我找到了答案 here
context.Database
    .ExecutesqlCommand("ALTER TABLE Members ALTER COLUMN Id IDENTITY (10000,1)");

原文地址:https://www.jb51.cc/mssql/79552.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐