5
どのようにしてCreateQuery()でテーブルにデータを挿入できますか?この例ではテーブルへのNHibernateの挿入
C#クラス
namespace NHibernateTutorial
{
public class Customer
{
public virtual int CustomerId { get; set; }
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
}
}
マッピングXML
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="NHibernateTutorial"
namespace="NHibernateTutorial">
<class name="Customer">
<cache usage="read-write"/>
<id name="CustomerId">
<generator class="native" />
</id>
<property name="FirstName" />
<property name="LastName" />
</class>
</hibernate-mapping>
私のプログラムのクラス
var configuartion = new Configuration();
configuartion.DataBaseIntegration(x =>
{
x.ConnectionString = @"Data Source=NH;Initial Catalog=NHibernate;Integrated Security=False;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";
x.Driver<SqlClientDriver>();
x.Dialect<MsSql2012Dialect>();
x.LogFormattedSql = true;
x.LogSqlInConsole = true;
x.AutoCommentSql = true;
});
configuartion.AddAssembly(Assembly.GetExecutingAssembly());
var sessionFactory = configuartion.BuildSessionFactory();
using (var session = sessionFactory.OpenSession())
{
var query = session.CreateQuery("INSERT INTO Customer (FirstName, LastName) select i.FirstName, i.LastName from CustomerOld i");
query.ExecuteUpdate();
}
どのように、私は別のテーブルから行をコピーし、しかし、私は新しい行を作成する必要があります私がすることができます?