Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实体框架5执行sql命令插入和标识列_C#_Entity Framework_Entity Framework 5 - Fatal编程技术网

C# 实体框架5执行sql命令插入和标识列

C# 实体框架5执行sql命令插入和标识列,c#,entity-framework,entity-framework-5,C#,Entity Framework,Entity Framework 5,我试图使用SQLNewID关键字为我的主键列生成一个随机Id using (var dc = new ExcelWebDBEntities()) { dc.Database.ExecuteSqlCommand(@" declare @id nvarchar(6) = substring(cast(NEWID() as nvarchar(max)),0,6); insert into Groups ([Id],[Nam

我试图使用SQLNewID关键字为我的主键列生成一个随机Id

   using (var dc = new ExcelWebDBEntities())
    {
        dc.Database.ExecuteSqlCommand(@"
            declare @id nvarchar(6) = substring(cast(NEWID() as nvarchar(max)),0,6);

            insert into Groups ([Id],[Name])
            values (@id,'TEST')

            select @id
        ");
    }

如何获取生成的id?或者在事物的c端生成唯一的id会更容易吗?

只是一个提示。使用NEWID生成主键会很快导致高碎片。我建议改为使用带有标识的普通旧int列。但是,如果不希望用户能够猜出URL中的组ID,您可以使用单独的列,在这种情况下,UNIQUEIDENTIFIER并不是一个坏的选择。但是,将主键设为主键意味着由于索引碎片,每个连接都会很慢。谢谢你的洞察力。如果你回答这个问题,我会记下来。