在SQL中,表的关联查询分为内联 Inner Join,左连接Left Join,右连接 Right Join,框架这里的用法一样。这里只举例一个 这里用到人员表和部门表,人员的外键有部门ID. ~~~ UserTab user = new UserTab(); DepartTab depart = new DepartTab(); OQL join = OQL.From(user) .LeftJoin(depart).On(user.DepartID, depart.DepartID) .Select(user.UserName, depart.DepartName) .END; EntityContainer ec = new EntityContainer(join); ec.Execute(); ~~~ 如果你有一个视图的实体类,则可以用下面的方法返回视图集 ~~~ List<VUser_Depart> lstVuser = ec.Map<VUser_Depart>().ToList();--最新版dll暂时不支持这种写法了 ~~~ 或者如下通过索引进行赋值: ![](https://box.kancloud.cn/f9f332d2bc62f4a4f6340f46c193ae7a_500x463.png) 也可以返回DataTable (不建议这样转datatable,建议用adohelper获取datatable) `ec.MapToDataTable("VUser");` 可以通过下面的方式来返回一个视图集合: ![](https://box.kancloud.cn/aedb831c7de37f26b88c099ad3354b23_699x611.png) 或者你不用定义视图实体也可以咯: ![](https://box.kancloud.cn/a59e7697d03dbfd1dd3b6577ccd854b6_384x82.png) 这里 P1 和 P2 是临时定义的属性字段,你可以定义随便成其他的名称。 多实体复杂条件,举例如下: ![](https://box.kancloud.cn/2a57ede82f1ace122728e5c64585e7a2_556x481.png) 或 ![](https://box.kancloud.cn/a78a05ebe37e424290b9fd457cd5a967_602x479.png)