linq to sql 自查询和中间表关系映射 20

1,有表Table字段IdNameParentId我想知道使用linqtosql如何设置属性关联才能获取自身表中的子对象实现自查询。我设置了[Association(St... 1,有表Table 字段 Id Name ParentId 我想知道使用linq to sql 如何设置属性关联才能获取自身表中的子对象实现自查询。我设置了[Association(Storage = "_children", OtherKey = "ParentId")],提示类似无法循环获取关联对象,msdn上说LoadWith 和 AssociateWith 指令不能创建循环,就包括自查询。请问还有其它办法么?
2,有三个表,两张实体表,一张中间表,请问如何设置关联直接能获取关联的实体,而不是先获取中间表对象再获取中间表关联的另外实体对象。
展开
 我来答
阳光的雷咩咩
2014-10-17 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7654万
展开全部
  1. 根据你上面的描述应该用的是linq to entities而不是to sql,对不对。如果感觉code first 比较难定义可以试试 model first。定义外键可以直接拖动model的。

  2. linq是会最终优化成sql语句的,而且默认不包含中间表的结果。可以试试include关键字。

追问
1,确定是to sql!
2,include是那个对象的方法?是不是相当于to sql 中的LoadWith方法,这个方法只能获取直接关联的数据,比如A只能获取到关键的B对象却不能直接获取到同时和B对象关联的C对象,除非是在LoadWith(a=>a.B);然后再LoadWith(b=>b.C);我问的问题就是如果直接从A对象获取到C对象而不经过中间B对象过渡。
追答
就是你那个意思。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式