我正在寻找可以帮助我使用WCF将查询结果映射到我的c#对象的任何资源。以前,我在LINQ工作,但我需要在没有LINQ的情况下完成。所以我想知道是否有人可以用一个例子来解释如何在没有LINQ的情况下实现相同的目标。我用谷歌搜索,但找不到初学者的好例子。任何帮助都会非常感激。
我有一个产品类
devices_secondary_activities
我想通过WCF服务调用调用存储过程public class Product
{
public int ProductId { get; private set; }
public string Code { get; private set; }
public string ProductName { get; private set; }
}
并usp_Get_Products
使用LINQ我会在Service.svn.cs文件中这样做
ADO.NET
答案 0 :(得分:1)
如果使用[Serializable]属性标记您的类,则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配置中的重要位是将JSON的默认行为提供给WCF端点(如果需要):
<behaviors>
<endpointBehaviors>
<behavior name="setJsonDefault" >
<webHttp defaultOutgoingResponseFormat="Json" />
</behavior>
</endpointBehaviors>
</behaviors>
然后您只需将该行为应用于您的端点(而不是服务)。您现在可以将其作为客户端配置应用于存储过程,它应该可以工作。只需创建一个客户端,就可以了。