【问题标题】:entity framework: join on the rule "A = substring(B)"?实体框架:加入规则“A = substring(B)”?
【发布时间】:2011-08-22 22:08:37
【问题描述】:
如果数据库级别的对应表通过这种有趣的规则连接,我能否请人告诉我如何声明两个实体 'Record' 和 'DictionaryItem' 之间的关联:
FROM Records R LEFT OUTER JOIN DictionaryItems D
ON SUBSTRING(R.CompositeKey,3,8) = D.DictionaryItemId
附:我现在正在与 POCO 实体合作。
【问题讨论】:
标签:
entity-framework
entity-framework-4.1
【解决方案1】:
Linq 到实体 doesn't support Substring。您必须通过调用 context.Database.SqlQuery<> 直接执行 SQL,或者必须使用实体 SQL - 这可能需要通过 IObjectContextAdapter 将 DbContext 转换为 ObjectContext,创建 ObjectSet 并运行 ESQL 查询。