iSeriesDB2スキーマに次の表があります。
CREATE TABLE LATHAM1.SGINES1.LICVP010
(ID FOR COLUMN ID10 BIGINT NOT NULL PRIMARY KEY,
CompanyCode FOR COLUMN CONO10 CHARACTER (2) CCSID 37 NOT NULL,
CreateDate FOR COLUMN CDAT10 DATE not null);
およびテーブルの次のマッピング:
public class OrderReferenceID
{
public virtual long ID { get; set; }
public virtual string CompanyName { get; set; }
public virtual DateTime CreationDate { get; set; }
}
public class OrderReferenceIDMap : ClassMap<OrderReferenceID>
{
public OrderReferenceIDMap()
{
Table("LICVP010");
Id(x => x.ID, "ID10")
.GeneratedBy.Native()
.Not.Nullable();
Map(x => x.CompanyName, "CONO10")
.Length(2)
.Not.Nullable();
Map(x => x.CreationDate, "CDAT10");
}
}
および次のコード:
ISessionFactory sessionFactory = CreateSessionFactory();
using (var session = sessionFactory.OpenSession())
{
OrderReferenceID newID = new OrderReferenceID { CompanyName = "LI", CreationDate = DateTime.Now.Date };
session.Save(newID);
session.Flush();
session.Close();
}
これを実行すると、エラーが発生します。
A conversion error occurred.
これは、CLRDateTimeからDB2Dateオブジェクトへの変換が原因で発生しているようです。
これを適切にマッピングするにはどうすればよいですか?