我必须在SQL Server中创建的现有数据库中添加排序。问题是此数据库包含LinQ的[xml]$mainXML = Get-Content -Path "C:\test2.xml"
$mainXML.batch.project[0] # This the first project called test
$mainXML.batch.project.GetType()
IsPublic IsSerial Name BaseType
-------- -------- ---- --------
True True Object[] System.Array
方法不支持的ntext
列。数据库是用代码优先的方法编写的,所以我可以访问数据库的模板,但我无法查看在服务器上运行的现成数据库。
我尝试更改字符串类型属性,将其标记为
OrderBy
然后我得到了一个
序列不包含匹配元素
我不知道如何解决的异常。
这是我想要对数据进行排序的方式(我在下面的说明中得到了例外:
[Column(TypeName = "nvarchar(MAX)")]
在我将MyDatabase.MyTable.OrderBy(x => x.MyRow).Load();
更改为TypeName
之前,我遇到了此错误:
大对象(ntext和图像)不能在ORDER BY子句中使用
有人可以帮我解决问题,以便从数据库中对数据进行排序吗?
我会感激任何帮助。提前致谢!
答案 0 :(得分:0)
在T-SQL中你可以通过多种方式解决这个问题,也许你可以为你采用其中一种吗?
ORDER BY(将MyTextCol转换为nvarchar(max))
从中创建视图 这个表的字段为nvarchar(max)并使用它 而不是你的桌子(即使将来)
ALTER TABLE myTable ALTER COLUMN myTextCol nvarchar(max) 最后一个解决了你的问题并且没有时间进行:它只是一个元数据操作,没有任何东西会在你的表中为现有行重新组织