将 SQL 查询结果映射到 C# 对象
Map SQL query results into C# Object
我正在寻找可以帮助我使用 WCF 将查询结果映射到我的 c# 对象的任何资源。以前,我在 LINQ 中工作,但我需要在没有 LINQ 的情况下进行。所以我想知道是否有人可以用一个例子来解释我如何在没有 LINQ 的情况下实现同样的目标。我用谷歌搜索但找不到适合初学者的好例子。任何帮助将不胜感激。
我有一个产品class
public class Product
{
public int ProductId { get; private set; }
public string Code { get; private set; }
public string ProductName { get; private set; }
}
我想通过 WCF 服务调用和 ADO.NET
调用存储过程 usp_Get_Products
使用 LINQ,我会在 Service.svn.cs 文件中这样做
public List<Product> GetProducts(string productName,string productCode)
{
TrsProductDataClassDataContext db = new TrsProductDataClassDataContext();
var products = db.usp_Get_Products(productName, productCode);
return products.ToList();
}
如果您使用 [Serializable] 属性标记您的 class,那么 WCF 将为您进行翻译。您可以在配置中指定您希望如何序列化。 XML 是默认值,但要添加对 JSON 的支持,您需要做的就是将其添加到您的配置中
代码中的重要部分(我总是忘记它是 Serializable 还是 DataContract,所以我最终同时使用了两者):
[Serializable, DataContract]
public class Product
{
public int ProductId { get; private set; }
public string Code { get; private set; }
public string ProductName { get; private set; }
}
WCF 配置中的重要一点是为 WCF 端点提供默认行为 JSON(如果需要):
<behaviors>
<endpointBehaviors>
<behavior name="setJsonDefault" >
<webHttp defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
</behaviors>
然后您只需将该行为应用到您的端点(而非服务)。您现在可以将其作为客户端配置应用于您的存储过程,它应该可以工作。只需创建一个客户端即可。
我正在寻找可以帮助我使用 WCF 将查询结果映射到我的 c# 对象的任何资源。以前,我在 LINQ 中工作,但我需要在没有 LINQ 的情况下进行。所以我想知道是否有人可以用一个例子来解释我如何在没有 LINQ 的情况下实现同样的目标。我用谷歌搜索但找不到适合初学者的好例子。任何帮助将不胜感激。
我有一个产品class
public class Product
{
public int ProductId { get; private set; }
public string Code { get; private set; }
public string ProductName { get; private set; }
}
我想通过 WCF 服务调用和 ADO.NET
usp_Get_Products
使用 LINQ,我会在 Service.svn.cs 文件中这样做
public List<Product> GetProducts(string productName,string productCode)
{
TrsProductDataClassDataContext db = new TrsProductDataClassDataContext();
var products = db.usp_Get_Products(productName, productCode);
return products.ToList();
}
如果您使用 [Serializable] 属性标记您的 class,那么 WCF 将为您进行翻译。您可以在配置中指定您希望如何序列化。 XML 是默认值,但要添加对 JSON 的支持,您需要做的就是将其添加到您的配置中
代码中的重要部分(我总是忘记它是 Serializable 还是 DataContract,所以我最终同时使用了两者):
[Serializable, DataContract]
public class Product
{
public int ProductId { get; private set; }
public string Code { get; private set; }
public string ProductName { get; private set; }
}
WCF 配置中的重要一点是为 WCF 端点提供默认行为 JSON(如果需要):
<behaviors>
<endpointBehaviors>
<behavior name="setJsonDefault" >
<webHttp defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
</behaviors>
然后您只需将该行为应用到您的端点(而非服务)。您现在可以将其作为客户端配置应用于您的存储过程,它应该可以工作。只需创建一个客户端即可。