从具有动态库的字段集合返回

时间:2013-11-11 19:28:57

标签: c# linq entity-framework dynamic

我们正在开发一个框架,通过一个url,按实体框架生成基于映射实体的查询。

我们正在使用动态库(http://lcs3.syr.edu/faculty/fawcett/handouts/CoreTechnologies/CSharp/samples/CSharpSamples/LinqSamples/DynamicQuery/Dynamic%20Expressions.html),我们正在努力回到关系1..N的领域。

示例:

TB_PEOPLE > TB_PHONE

基于这种关系,我需要完成跟随linq的相同想法:

var sql = from p in context.SomeTable
          select new { 
             NAME = p.NAME, 
             PHONES = p.TB_PHONE.Select(ph => ph.PHONE)
          };

由于我不打字,我们选择使用动态库,因为显然允许我们灵活地操纵字符串返回。 然后按照相同的想法,我们设置以下行:

var sql = context.SomeTable.Select("new (TB_PEOPLE.TB_PHONE.PHONE)");

在这种情况下,返回一个错误,指出属性“PHONE”当然不存在“TB_PEOPLE”!这么多,我们试图说这个属性属于表“TB_PHONE”,但他不明白。

所以我问你,我怎么才回到只有关系可以是N的实体的某些字段?还尝试调用方法“选择”:

var sql = context.SomeTable.Select("new (TB_PEOPLE.TB_PHONE.Select(PHONE))");

...但我被告知此方法无法使用。

我不知道还能做什么,任何帮助都将不胜感激!

谢谢。

0 个答案:

没有答案