【发布时间】:2011-11-22 22:27:02
【问题描述】:
我正在尝试为我的模型创建某种动态加载器,我可以在其中指定我需要的属性,它的主要目的是创建一个REST API,它为单个模型提供动态信息作为JSON。
API 将被例如访问
/api/model?id=581D1393-3436-4146-A397-E47CF5419453&fields=foo,bar,baz
为此,我使用了ScottGu's Blog 中描述的Dynamic LINQ,问题是我需要通过连接对多个表进行查询并从不同的表中加载数据,在这种情况下我不能这样做,据我所知。
现在我将ObjectQuery<DbDataRecord> 方法与Entity SQL 一起使用,我可以在其中创建我想要的查询,但在这种情况下我会丢失编译器验证并且更难重构。
我的问题是,对于这类问题是否有最佳实践方案?使用其他ORM 是否更容易实现?
问候
鲁斯兰 A.
【问题讨论】:
-
您可以在第一步的基础上进行第二步,这意味着您可以提取常用查询并将数据存储在内存中(使用 .ToList() 或类似的),然后根据什么您只需要简单的 if..else 或 switch 即可完成其余逻辑。动态 Linq 已经结束了。
标签: entity-framework-4 linq-to-entities dynamic-data objectquery