Tôi đang gặp một số vấn đề với một truy vấn của một bảng bao gồm một không gian trong tên của nóBắt NHibernate lỗi ngoại lệ của loại 'Antlr.Runtime.NoViableAltException' đã được ném
Nếu tôi viết một sql truy vấn nó hoạt động tốt, tức là SELECT * FROM [nhóm sản phẩm], nhưng khi sử dụng NHibernate CreateQuery phá vỡ mọi thứ
using (ISession session = SessionFactory.OpenSession())
{
IQuery query = session.CreateQuery("FROM [product groups]");
IList<ProductGroups> results = query.List<ProductGroups>();
}
sẽ tạo ra lỗi
ngoại lệ của loại 'Antlr.Runtime.NoViableAltException' đã được ném. dòng gần 1, cột 5 tại
NHibernate.Hql.Ast.ANTLR.ErrorCounter.ThrowQueryException() tại NHibernate.Hql.Ast.ANTLR.HqlParseEngine.Parse()
...
Nếu tôi sử dụng một CreateSQLQuery nó hoạt động
ISQLQuery query = session.CreateSQLQuery("SELECT ID, Title, [Available as develop] FROM [product groups]").AddEntity(typeof(ProductGroups));
IList<ProductGroups> results = query.List<ProductGroups>();
Các tập tin bản đồ trông như thế này
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" auto-import="true">
<class name="ListModels.ProductGroups, ListModels" lazy="true" table="Product groups">
<id name="ID">
<generator class="native" />
</id>
<property name="Title" />
<property name="AvailableAsDevelopmentLicense" column="Available as develop" />
</class>
</hibernate-mapping>
Tại sao CreateQuery không hoạt động?
này là hoàn toàn đúng, tôi cũng đã phải thiết lập các thông số bảng trong lớp trong file hbm, cảm ơn. –