【发布时间】:2013-12-14 15:42:07
【问题描述】:
如何使用 CreateQuery() 向表中插入数据?
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();
}
在此示例中,我从另一个表中复制行,但我需要创建新行,我该怎么做?
【问题讨论】:
标签: c# nhibernate