ADO.NET数据集添加虚拟字段

在使用DataSet的时候,经常会根据遇到一些外键列。我们需要根据一些外键关联对结果集进行补充字段,我们习惯使用的sql语句如下:

SELECT PurchaseID, UserName, OrderItemID, PaymentMethod, Quantity, Price,
      TransactionID, Notes, CreateOn, Purchase.SuppliersID,Suppliers.Name AS Suppliers
FROM Purchase,Suppliers where Purchase.SuppliersID = Purchase.SuppliersID

但上面的sql语句在ADO.NET中返回强类型数据集的时候会出现问题,不能生成默认的Insert/Update和Delete方法。怎么解决呢

SELECT PurchaseID, UserName, OrderItemID, PaymentMethod, Quantity, Price,
      TransactionID, Notes, CreateOn, SuppliersID,
          (SELECT Name
         FROM Suppliers
         WHERE (SuppliersID = Purchase.SuppliersID)) AS Suppliers
FROM Purchase

上面的sql语句就可以解决该问题,不过效率方面会有影响。

原文地址:https://www.cnblogs.com/lirenqing/p/1447180.html