如何使用Nhibernate插入到otherColumn等于someValue的列中
本文关键字:someValue 等于 otherColumn 何使用 Nhibernate 插入 | 更新日期: 2023-09-27 18:26:23
首先,请原谅我对Hibernate的了解不多(我是一个sql迷),我做了很多研究,只是在下面找不到如何正确地做到这一点
我想做的:我有一个名为ClassCodes的表,我想在他的原始代码旁边插入每个等价代码
所以我的两列是Originalcode和Equivalecodes(假设Originalcod已经填充)
这是我想帮助的功能
public void addEquivalenceCodes(string Code, string EquivalenceCode)
try
{
using (ISession session = OpenSession())
{
using (ITransaction transaction =session.BeginTransaction())
{
//**Here is what I don't know how to write properly in hibernate
String hql = "INSERT INTO ClassCodes(CodeEquiv)" + "VALUES ("+EquivalenceCode+") WHERE Originalcode = "+Code+";
Query query = session.createQuery(hql);
transaction.Commit();
}
}
}
catch (Exception e) { Console.WriteLine(e); }
}
这是我的地图,添加更多的视觉帮助
<class name="ClassCodes, table="[T0101_ClassCode]" lazy="false">
<id name="Id" column="[Id]">
<generator class="native" />
</id>
<property name="OriginalCode" column="[OriginalCode]" />
<property name="EquivalanceCode" column="[EquivalanceCode]" />
etc...
我很感激我能得到的所有指南、提示和解释!
这不是插入,而是更新
using (var session = new Configuration().Configure().BuildSessionFactory().OpenSession())
{
ClassCodes classcodes=session.Get<ClassCodes>(Originalcode);
classcodes.EquivalanceCode="EquivalanceCode value";
using (ITransaction transaction = session.BeginTransaction())
{
session.SaveOrUpdate(classcodes);
transaction.Commit();
}
}