从代码中查询两个表

本文关键字:两个 代码 查询 | 更新日期: 2023-09-27 18:00:37

我有两个表。

第一个表:员工

IdEmployee
Name
LastName

第二个表格:评论员工

IdComment
IdEmployee
Note

与两个表中的IdEmployee进行协商,从C中获取Name、IdComment和Note#表的类型为SQL正在尝试

DetachedCriteria criteria1 = DetachedCriteria.For<Employee>()
                                .Add(Restrictions.Eq("IdEmployee", 2))
                                .SetFetchMode("Name", FetchMode.Eager);
                DetachedCriteria criteria2 = DetachedCriteria.For<CommentsEmployee>()
                                .Add(Restrictions.Eq("IdEmployee", 2))
                                .SetFetchMode("IdComment", FetchMode.Eager)
                                .SetFetchMode("Note", FetchMode.Eager);
                var result = session.CreateMultiCriteria()
                    .Add(criteria1)
                    .Add(criteria2)
                    .List();

///////////////////////////////////////////////////////////////////////////////////////否则

var result = session
                        .CreateCriteria<Employee>()
                        .CreateCriteria("CommentsEmployee")
                        .Add(Restrictions.Eq("IdEmployee", f))
                        .List();

任何人都可以帮助我

从代码中查询两个表

我想您正在寻找一个简单的联接语句?

SELECT * FROM Employee JOIN CommentsEmployee ON Employee.IdEmployee = CommentsEmployee.IdEmployee;

这是通用SQL,我希望它对您有效,但至少它应该传达这个概念。

我想你们应该看看这个包。将注释作为一个包添加到员工中,您只需要一个get/load语句。

员工类别:

IdEmployee
Name
LastName
IList <CommentsEmployee> Comments

袋子的xml:

<bag name="Comments" inverse="false" lazy="true" cascade="save-update" generic="true">
    <key column="EmployeeId"/>
    <one-to-many class="EmployeeComments">
</bag>