LINQ to XML 还是 SQL Server 2005 XML DML?
我正在编写一个应用程序,它按计划每天检索 RSS 提要,并将每个提要的内容作为 XML 数据保存在 SQL Server 2005 数据库中。我想显示按日期排序的聚合项,例如,来自 Asp.Net GridViews 中我的应用程序中保存的提要数据的聚合项。
我的问题是:考虑到我已经在应用程序中使用 LINQ to SQL,我应该使用 LINQ to XML 来查询提要数据,还是应该使用存储过程中的 SQL 查询来聚合数据,考虑到 SQL Server 2005 具有强大的功能XML 处理支持?
我对 SQL Server 2005 和 LINQ 都比较陌生,因此我无法真正看出这两种解决方案的相对优势是什么,或者它们是否实际上不是同一件事。
I'm writing an app that retrieves RSS feeds on a scheduled daily basis and saves the contents of each feed as XML Data in a SQL Server 2005 database. I want to display the aggregated items, sorted by date, for example, from the saved feed data in my app in Asp.Net GridViews.
My question is: should I use LINQ to XML to query the feed data, given that I already use LINQ to SQL in the app, or should I aggregate the data using a SQL query in a stored procedure, given that SQL Server 2005 has powerful XML-handling support?
I'm relatively new to both SQL Server 2005 and LINQ, so I can't really see what the relative advantages of either solution are, or whether they aren't really the same thing, effectively.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我想这实际上取决于您喜欢在哪里编写代码。就我个人而言,我对 C# 的使用比对 T-SQL 的使用要舒服得多,因此我会使用 LINQ to XML 来完成此操作(事实上,我之前已经对 RSS 提要执行过同样的操作)。无论哪种方式,它都可能非常简单,但我认为在数据库中执行此操作并没有多大好处,除非您可能有多个客户端都需要相同的 XML。在 C# 中,调试等往往(IMO)更容易,并且单元测试也更容易编写。
Well, I guess it really depends on where you prefer to write code. Personally I'm a lot more comfortable in C# than in T-SQL, so I'd do it in LINQ to XML (and indeed I've done exactly that for an RSS feed before now). It's likely to be pretty simple either way, but I don't see there's really much benefit in doing it in the database unless you're likely to have multiple clients which all want the same XML. Debugging etc tends (IMO) to be easier in C#, and unit tests are easier to write too.