我有个问题。也许你们中的一位专家能帮上忙。我正在查询的表有两个xml列。我也需要对这些列中的xml数据执行查询(在我的高级搜索功能中)。问题是,我正在使用实体框架,它不支持这一点。即使我尝试执行"ObjectQuery.Execute“,它也会导致语法错误。我在这里有什么选择?
谢谢,
阿里·纳希德
发布于 2012-11-25 18:22:06
EF将Server类型列映射到字符串。因此,对于这个定义:
CREATE TABLE [dbo].[XmlData](
[ID] [int] IDENTITY(1,1) NOT NULL,
[XmlTestColumn] [xml] NOT NULL
)
您将拥有以下实体:
public partial class XmlData
{
public int ID { get; set; }
public string XmlTestColumn { get; set; }
}
并且能够将字符串加载到XmlDocument,等等。这是一种方法。
如果您喜欢针对Server发出原生XML查询,则需要
Database.SqlQuery
:
var query =context.Database.SqlQuery(@“选择it.Id、it.Name、it.SomeData、t2.交叉应用Table1中的其他数据.”);ObjectQuery
与概念模型相反,不支持本机查询。
https://stackoverflow.com/questions/13556604
复制相似问题