2012-04-25 15 views
0

xmlフィールドを含むデータベースがあります。現時点では、このデータベースに対してxmlの値をフィルタリングするクエリを実行します。近い将来、エンティティ・フレームワークまたはHibernateをormとして移行したいと考えています。これは可能ですか?Linq/Entity Framework、列でxpathクエリを実行

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))) 

これを行うにはとにかくがあります:これは、我々は(SQLで)実行したクエリの2つですか?

答えて

2

EFでは、SQLをサーバーに直接渡すさまざまな方法があります。 ObjectContext.ExecuteStoreQuery。また、xpathクエリを実行し、いつものようにそれをマップするストアドプロシージャを書くこともできます。私が知る限り、LINQまたはEntity SQLのxpathのネイティブサポートはありません。