NHibernate.У меня есть 3 таблицы:
Сотрудник { PK: EmployeeId , Имя, Фамилия, ...}
Проект { PK: ProjectId , дата, name, ...}
EmployeebyProject { PK: FK: EmployeeId, ProjectId , date, ...}
Мне нужно сделать CRUD, на данный моментУ меня есть несколько записей в таблице EmployeebyProject.Поэтому я пытаюсь достать кого-нибудь из этих записей.Это метод, использующий критерии, но произошла ошибка: «GenericADOException, не удалось выполнить запрос», «Column EmployeeId is not valid», «Column ProductId not valid». Проблема с этим критерием не в том, чтобы перейти к таблицам Employee и Project, чтобы сделать запрос для idEmployee и idProject. Так, как я могу сделать это ??.
public EmployeebyProject GetEmployeebyProjectByIdEmployee(int idEmployee, int idProject)
{
using (ISession session = NHibernateSessionBuilder.OpenSession())
{
var employeebyProject = session
.CreateCriteria(typeof(EmployeebyProject))
.CreateCriteria("Employee", "Employee")
.Add(Restrictions.Eq("EmployeeId", idEmployee))
.UniqueResult<EmployeebyProject>();
return employeebyProject;
}
}
этоотображение для EmployeebyProject:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
assembly="AdminProject"
namespace="AdminProject.Business.Entity">
<class name="EmployeebyProject">
<composite-id>
<key-many-to-one name="Employee" column="EmployeeId" class="Employee"></key-many-to-one>
<key-many-to-one name="Project" column="ProjectId" class="Project" ></key-many-to-one>
</composite-id>
<property name="DateBegin" type="DateTime"/>
<property name="DateEnd" type="DateTime"/>
</class>
</hibernate-mapping>