实体框架:加入规则"A = substring(B)"?

Rom*_*kij 5 entity-framework entity-framework-4.1

如果数据库级别的对应表通过这样有趣的规则加入,我可以问某人如何声明两个实体'Record'和'DictionaryItem'之间的关联的方式:

FROM Records R LEFT OUTER JOIN DictionaryItems D 
  ON SUBSTRING(R.CompositeKey,3,8) = D.DictionaryItemId

PS我现在正在与POCO实体合作.

Lad*_*nka 0

Linq-to-entities不支持 Substring. 您必须通过调用直接执行 SQL context.Database.SqlQuery<>,或者必须使用 Entity SQL - 这可能需要转换DbContextObjectContextvia IObjectContextAdapter、创建ObjectSet并运行 ESQL 查询。