[英]How to filter and combine 2 datasets in C#
我正在构建一个网页,向客户展示他们购买的软件,并为他们提供下载所述软件的链接。 不幸的是,关于购买的内容和下载信息的数据都在不同的数据库中,所以我不能只通过SQL查询中的连接来处理它。
常见项目是SKU。 我将从客户购买数据库中提取SKU列表,并在下载表上显示与该下载相关联的SKU的逗号描述列表。 目前,我的目的是从这一个数据表创建一个GridView
。
任何关于如何有效地做到这一点的建议将不胜感激。 如果有帮助的话,我可以很容易地将数据作为DataSet
或DataReader
拉回来,如果其中任何一个更好用于此目的。
只要两个数据库位于同一物理服务器上(假设为MSSQL)并且连接字符串中使用的用户名/密码对两个数据库都具有权限,那么您应该能够跨两个数据库执行连接。 例:
select p.Date,
p.Amount,
d.SoftwareName,
d.DownloadLink
from PurchaseDB.dbo.Purchases as p
join ProductDB.dbo.Products as d on d.sku = p.sku
where p.UserID = 12345
为什么不创建一个基于域对象的方法来解决这个问题:
public class CustomerDownloadInfo
{
private string sku;
private readonly ICustomer customer;
public CustomerDownloadInfo(ICustomer Customer){
customer = Customer;
}
public void AttachSku(string Sku){
sku = Sku;
}
public string Sku{
get { return sku; }
}
public string Link{
get{
// etc... etc...
}
}
}
这有一百万种变体,但是一旦汇总了这些信息,呈现会不会更容易?
我在这里想到了我的头脑。 如果将两者作为数据表加载到相同的数据集中,并在SKU上定义两者之间的关系,然后对数据集运行生成所需结果的查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.