gpt4 book ai didi

c# - 添加冲突替换到 Nhibernate 映射文件

转载 作者:行者123 更新时间:2023-12-02 04:52:07 25 4
gpt4 key购买 nike

我正在其中编写一个应用程序,我将 NHibernateSQLite 结合使用。

我有一个表,其中有一列,我希望它是唯一的并且在冲突时替换。

这是我的.hbm.xml映射文件代码。

<?xml version="1.0" encoding="utf-8"?>

<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="TaxeeManager"
namespace="TaxeeManager.Database">

<class name="Office" table="offices">
<id name="Id" column="id">
<generator class="identity" />
</id>

<property name="Name" column="name" />
<property name="Address" column="address" />
<property name="ManagerName" column="managername" />
<property name="Email" column="email" />
<property name="WebSite" column="website" />
<property name="Phone1" column="phone1" />
<property name="Phone2" column="phone2" />
<property name="Phone3" column="phone3" />
<property name="Picture" column="picture" />
<property name="Mid" column="mid" unique="true"/>
<property name="RegisterId" column="registerid" />
<property name="Latitude" column="latitude" />
<property name="Longitude" column="longitude" />

</class>

</hibernate-mapping>

我的独特列是mid

我的最终一定是这样的。

CREATE TABLE offices (id  integer primary key autoincrement, name TEXT, address TEXT, managername TEXT, email TEXT, website TEXT, phone1 TEXT, phone2 TEXT, phone3 TEXT, picture TEXT, mid BIGINT UNIQUE ON CONFLICT REPLACE, registerid TEXT, latitude DOUBLE, longitude DOUBLE)  

我怎样才能做到这一点?

最佳答案

亲爱的 Mohammad Reza,我认为您最常通过此函数使用纯 SQL 代码创建此约束:

session.CreateSQLQuery("CREATE TABLE offices (id integer primary key autoincrement, name TEXT, address TEXT, managername TEXT, email TEXT, website TEXT, phone1 TEXT, phone2 TEXT, phone3 TEXT, picture TEXT, mid BIGINT UNIQUE ON CONFLICT REPLACE, registerid TEXT, latitude DOUBLE, longitude DOUBLE)").ExecuteUpdate();

我希望这对你有帮助:)

关于c# - 添加冲突替换到 Nhibernate 映射文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33474604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com