C# 使用动态库从字段集合返回
我们正在开发一个框架,该框架通过一个url,逐个实体地基于映射的实体框架生成查询 我们正在使用动态库(),我们正在努力返回关系1..N的字段 例如:C# 使用动态库从字段集合返回,c#,linq,entity-framework,dynamic,C#,Linq,Entity Framework,Dynamic,我们正在开发一个框架,该框架通过一个url,逐个实体地基于映射的实体框架生成查询 我们正在使用动态库(),我们正在努力返回关系1..N的字段 例如: TB_PEOPLE > TB_PHONE 基于这种关系,我需要实现同样的想法以下linq: var sql = from p in context.SomeTable select new { NAME = p.NAME, PHONES = p.TB_PHONE
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))");