草庐IT

主键自增

全部标签

C# .NET 4.0 MVC 插入带有主键的记录

我们有一个数据库,其中有一个名为“Sites”的表这张表有SiteID,Name,Tags,Description,URI这几列,其中SiteID为主键(没有设置为Identity,因为我们要添加自己的ID)我们一直在使用.NET4.0MVC和C#,并在我们需要的代码中设置了一切。我们可以从数据库中选择内容并显示它们,这样我们就知道这是有效的。但是当我们尝试插入时,我们得到一个CannotinsertthevalueNULLintocolumn'SiteID'错误。如果我将列设置为身份以便它自动生成,或者如果我取下主键则没问题,但正如我所说它应该是一个主键并且我们想要插入自己的ID。我

c# - Entity Framework 6 - 缺少仅包含引用不同表的主键的表

我们正在学习EntityFramework6.1(来自NuGet),因为我们正在远离Linq2Sql。我们有一小部分表格将两个单独的表格相关联,如下所示。第一代EF6数据库数据库图:架构概述:在VisualStudio中,空白类库,执行DatabaseFirstEF6EDMX文件时,图表仅生成TableA和TableC,而不会生成TableB。VisualStudioView:可以看到只创建了TableA和TableC。从技术上讲,应该创建TableB,因为您希望能够管理这些引用。图中A和C的关联:我觉得我错过了一个选项,或者误解了EntityFramework的一个关键概念。知道如何

c# - 在 MVC 类上创建主键字段

我是MVC和C#的新手。我只是偶然发现它并发现它很有趣。我遇到了一个不允许我继续的问题。这是我的代码:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Mvc;namespaceMyHotel.Models{publicclassAccountTypes{publicintAccountTypeID{get;set;}publicstringAccountTypeName{get;set;}}}我随后创建了Controller和View。为此,我一直收

JAVA操作Elasticsearch指定主键_id生成策略

目录前言1.JAVA操作Elasticsearch手动指定ID2.JAVA操作Elasticsearch自动生成ID3.DSL方式手动指定ID4.DSL方式自动生成ID前言Elasticsearch一共有两种主键生成策略,一个是手动指定和一个是自动生成!1.JAVA操作Elasticsearch手动指定IDIndexRequestindexRequest=newIndexRequest(indexName);//手动指定idindexRequest.id(obj.getId());效果如图2.JAVA操作Elasticsearch自动生成ID无须指定ID,es会自动生成id规则3.DSL方式手

c# - 先在代码中获取任意实体的主键值

有这样的方法吗?objectGetPrimaryKeyValue(DbEntityEntryentry);或者应该如何实现? 最佳答案 您需要将DbContext转换为IObjectContextAdapter,这样您就可以访问底层的ObjectContext,这让您可以访问一些隐藏的更高级的功能DbContext.在派生DbContext的类中,以下方法将起作用。objectGetPrimaryKeyValue(DbEntityEntryentry){varobjectStateEntry=((IObjectContextAdap

c# - C# 中的前置和后置自增/自减运算符

在C#中,有人知道为什么下面的代码会编译吗:inti=1;++i;i++;但这不会编译?inti=1;++i++;(编译器错误:递增或递减运算符的操作数必须是变量、属性或索引器。) 最佳答案 您在另一个操作数的结果上运行一个操作数,递增/递减的结果是一个值-您不能对值使用递增/递减,它必须是可以设置的变量。 关于c#-C#中的前置和后置自增/自减运算符,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

php - 对于 Laravel Eloquent 模型及其关系,如何实现由 UUID 组成的主键,而不是自动递增的整数?

自动递增整数不能用于存在潜在冲突(冲突)的分布式数据库拓扑中的主键。关于UUID与自动递增整数主题的现有文献非常多,基本原则已被广泛理解。然而,与此同时,似乎没有关于如何在Laravel中实现这一点的单一、全面的解释,支持Eloquent模型和关系。以下文章很有值(value),并解释了在VARCHAR(36)中存储主键所产生的性能开销。/CHAR(36)与通常用于自动递增键的4/8字节整数相比。我们应该注意这个建议(尤其是作者在全文中指出的出版后更正):https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-

php - 主键 + 复合主键导致推进数据库模式出现问题

我有一个使用自动递增主键的表,它有几个字段。我想确保field1+field2组合不会被多次使用,所以除了id之外,我还添加了它们作为主键,但是当我尝试使用findPK()时,这会产生问题。我宁愿有一个自动递增的id作为主键,但我也想确保组合field1+field2没有输入超过一次。 最佳答案 尝试在这些字段上设置唯一索引,例如:根据propeldoc 关于php-主键+复合主键导致推进数据库模式出现问题,我们在StackOverflow上找到一个类似的问题:

php - 将自增 ID 转换为 9 位随机序列号

我有一个包含用户的MySQL数据库。每行都有一个唯一的自动递增ID(1,2,3...)。现在我需要将其转换为一个独特且随机的序列号,我可以将其转换回ID-全部使用PHP。用户ID从1到99999999999(INT(11))。所有序列号都应至少包含9位数字,并且绝不能以0开头。用户不应该能够轻易地弄清楚如何猜测有效的序列号。谢谢:) 最佳答案 你可以做一些简单的“加密”。取一个('secret')素数p27407和base17(例如)。计算基模p-1,12897的乘法逆inv。wolframalpha可以为您做到这一点。Id转序列号

php - 共享主键的两个表的一对一关系

我想要两个表,Person和Address,共享它们的主键:CREATETABLEPerson(idINTUNSIGNEDNOTNULLAUTO_INCREMENTPRIMARYKEY);CREATETABLEAddress(personIdINTUNSIGNEDNOTNULLPRIMARYKEY);我正在尝试模拟这样一种想法,即当您创建一个Person时,您也会为其创建一个Address。我想出了以下映射:classPerson{/***@Id*@Column(type="integer")*@GeneratedValue*/private$id;/***@OneToOne(targ