0

我们有一个包含 xml 字段的数据库。此时,我们对这个数据库执行查询,过滤 xml 中的值。在不久的将来,我们希望迁移到实体框架或 NHibernate 作为 orm。这可能吗?这是我们运行的两个查询(在 sql 中):

SELECT 
  yy.[Description] as Name,
  convert(xml, yy.Xml).value('(//Division)[1]', 'varchar(255)') as Division,
  onvert(xml, yy.Xml).value('(//Season)[1]', 'varchar(255)') as Season
  into #Statistics .....

SELECT [dbo].[yy].[Id]
  FROM [dbo].[yy]
  WHERE [dbo].[yy].[ApplicationId] = 1
  AND (((dbo.[yy].Xml.exist(''(//qq[Season='Non seasonal'])'') = 1)))

有没有办法做到这一点?

4

1 回答 1

3

在 EF 中有多种方法可以将 SQL 直接传递到服务器,例如ObjectContext.ExecuteStoreQuery. 您还可以编写一个存储过程来执行 xpath 查询并像往常一样映射它。据我所知,LINQ 或 Entity SQL 中没有对 xpath 的原生支持。

于 2012-04-25T12:40:12.673 回答