Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.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# 在映射文件的NHibernate ID生成器部分中,指定和选择的含义是什么?_C#_Nhibernate_Orm_Id Generation - Fatal编程技术网

C# 在映射文件的NHibernate ID生成器部分中,指定和选择的含义是什么?

C# 在映射文件的NHibernate ID生成器部分中,指定和选择的含义是什么?,c#,nhibernate,orm,id-generation,C#,Nhibernate,Orm,Id Generation,在映射文件的NHibernateID生成器部分中,分配并选择的含义是什么?assigned表示在会话中保存实体之前,在代码中分配主键 select表示它由数据库分配,通过查询某个唯一键从数据库中获取。有标识/序列并已分配。新罕布什尔州: 5.1.5.1。发电机 用于支持标识的数据库 列(DB2、MySQL、Sybase、MS SQL), 您可以使用标识密钥生成。 用于支持序列的数据库 (DB2、Oracle、PostgreSQL、Interbase、, 麦考伊,SAP DB)您可以使用序列 样式

在映射文件的
NHibernate
ID生成器部分中,分配并选择的含义是什么?

assigned
表示在会话中保存实体之前,在代码中分配主键


select
表示它由数据库分配,通过查询某个唯一键从数据库中获取。

有标识/序列并已分配。新罕布什尔州:

5.1.5.1。发电机

用于支持标识的数据库 列(DB2、MySQL、Sybase、MS SQL), 您可以使用标识密钥生成。 用于支持序列的数据库 (DB2、Oracle、PostgreSQL、Interbase、, 麦考伊,SAP DB)您可以使用序列 样式键生成。这两个 策略需要两个SQL查询才能执行 插入一个新对象

uid\u序列 对于跨平台开发, 本地策略将从 恒等式、序列与hilo 战略,取决于 基础设施的能力 数据库

5.1.5.7。分配的标识符

如果希望应用程序分配 标识符(与具有 NHibernate),您可以使用 指定的生成器。这个特别的 生成器将使用该标识符 值已指定给对象的 标识符属性。小心点 使用此功能指定关键点时 具有商业意义(几乎总是 糟糕的设计决策)

由于其固有的性质,实体 不能使用此生成器 通过ISession的 SaveOrUpdate()方法。相反,你 必须明确指定 如果对象应该是 通过调用 的Save()或Update()方法 伊塞翁