0

xmlフィールドを含むデータベースがあります。この時点で、xmlの値をフィルタリングするクエリをこのデータベースで実行します。近い将来、エンティティフレームワークまたはormとしてNHibernateに移行したいと考えています。これは可能ですか?これは、(SQLで)実行するクエリの2つです。

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またはEntitySQLではxpathのネイティブサポートはありません。

于 2012-04-25T12:40:12.673 に答える