标签: xml-column

EF 4.1 Code First中的XML数据类型

我想使用SQL Server xml类型作为实体类的列类型.

根据这个线程,可以将这样的列映射到字符串类型:

public class XmlEntity
{
   public int Id { get; set; }

   [Column(TypeName="xml")]
   public string XmlValue { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

该定义在数据库中正确生成了该表.也可以创建新的XmlEntity对象.

但后来我尝试从数据库中获取一些实体:

var entity = db.XmlEntities.Where(e => e.Id == 1).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

发生错误:

模型生成过程中检测到一个或多个验证错误 System.Data.Edm.EdmEntityType:的EntityType" 的XElement "没有定义键.定义此EntityType的键.

entity-framework entity-framework-4 xml-column ef4-code-only ef-code-first

12
推荐指数
2
解决办法
9625
查看次数

Sql Server XML列替代Document DB?

是否可以使用Sql Server XML列替代真正的文档数据库(如Couch或Mongo)?

如果我要为文档创建一个带有guid PK Id和XML列的表.与使用文档数据库相比,主要问题是什么?

Sql Server支持对XML列进行索引,因此查询不应该是完全可怕的吗?

sql-server couchdb mongodb document-database xml-column

11
推荐指数
2
解决办法
2031
查看次数

检查SQL Server 2005 XML字段是否为空

我这样做了:

Delete FROM MyTable WHERE ScopeValue = "" 
Delete FROM G_Scope WHERE ScopeValue is ''
Delete FROM G_Scope WHERE ScopeValue = empty
Delete FROM G_Scope WHERE ScopeValue is empty
Run Code Online (Sandbox Code Playgroud)

我想用xml字段删除所有行(不可为空),其中ScopeValue列有空条目表示零字符.

有谁知道?

sql-server xml-column is-empty

8
推荐指数
1
解决办法
8982
查看次数

xml列如何存储在SQL Server 2008中?

我尝试了解SQL Server 2008如何存储xml列以尝试估计产品中的表大小.

我正在使用DATALENGTH(xml_column)一些测试,结果令人不安:

Xml document length | Datalength | Bytes per character
175                 | 366        | 2.09
15                  | 38         | 2.53
314                 | 414        | 1.31
Run Code Online (Sandbox Code Playgroud)

显然,xml列类型并不是nvarchar(max)伪装的,因为我已经在某处读过了.

它可能被压缩并存储为二进制,但无法找到任何地方.

有人可以解释一下xml列是如何存储在SQL Server 2008中的?

xml sql-server sql-server-2008 xml-column

8
推荐指数
2
解决办法
1989
查看次数

SQL Server Xml列最佳实践

使用Sql Server Xml列以确保快速性能和易于报告的最佳实践是什么?

您如何设置该列?您是否将其保留为未键入状态?或将其与架构相关联?

将xml列与架构相关联是否可以提高查询性能?

我们对xml列的使用如下:

答:>在PER客户的基础上,我们可以定义其数据的灵活存储,而无需检查数据库。

B.>我们需要为每个返回客户数据的客户建立报表视图,就好像它是一个简单的表一样(对于Crystal报表或Sql Server Reporting Services)。

我们当前用于查询的语法如下:

SELECT 
Id, 
doc.value('@associatedId','nvarchar(40)') as AssocId,
doc.value('@name1', 'nvarchar(255)') as Name1,
doc.value('@name2', 'nvarchar(255)') as Name2,
doc.value('@name3', 'nvarchar(255)') as Name3,
doc.value('@number', 'nvarchar(255)') as Number
From OrderDetails
CROSS APPLY OrderDetails.XmlData.nodes('//root/reviewers/reviewer') as XmlTable(doc)
Run Code Online (Sandbox Code Playgroud)

有更快的方法吗?该查询在具有100万条记录的表中为我们运行的很慢,但是当前只有800条具有xml数据!

谢谢

皮特

sql-server database-design xml-column

3
推荐指数
1
解决办法
2900
查看次数