如何在WCF中使用LINQ返回JSON结果?

眼镜

我是WCF的新手。我正在尝试通过使用实体框架创建具有LINQ结果的列表。我想返回JSON数据。但我无法得到它。我收到类似Notsupportedexception未由用户代码处理的错误。请帮我解决这个问题。提前致谢。

这是我的服务构造函数:

[OperationContract]
[WebInvoke(Method = "GET",
ResponseFormat = WebMessageFormat.Json,
BodyStyle = WebMessageBodyStyle.Wrapped,
UriTemplate = "getcontact")]
List<string> JSONDataAll();

如果我这样返回它的工作正常:

public List<String> JSONDataAll()
{   
var users = (from u in db.Tbl_Users select u).ToList();
var finalList= users.Select(u => u.UserName).ToList();
return st;
}

在这种情况下,其显示错误:

public List<String> JSONDataAll()
{
var users = (from u in db.Tbl_Users
select new
{ u.UserName,
u.UserAddress
}).ToList();
return users;
}
尤里亚姆·钱德拉

由于使用的是WCF,因此要进行投影(选择子句),可以创建新类型作为返回类型,而不是匿名对象或派生对象,并且EF实体不能用于投影。

根据localhost.com讨论,派生的对象可能会引起问题,可能是无效的properprty值。您还可以享受通过DataMember属性配置它好处

[DataContract]
public class UserDataResponse
{
    [DataMember]
    public string UserName { get; set; }
    [DataMember]
    public string UserAddress { get; set; }
}

并更改WCF操作的返回类型。

public List<UserDataResponse> JSONDataAll()
{
    var users = (from u in db.Tbl_Users
                select new UserDataResponse
                {
                    UserName = u.UserName,
                    UserAddress = u.UserAddress
                });
    return users.ToList();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Oracle 19C中使用小写列名从JSON_OBJECT返回结果

来自分类Dev

如何在Angular中使用JSON.parse在新行中返回多个结果?

来自分类Dev

如何在C#中使用SqlCommand和SqlDataReader返回Json结果

来自分类Dev

如何在WCF中使用SynchronizationContext

来自分类Dev

如何在Android中使用WCF服务?

来自分类Dev

如何在WPF中使用线程的结果?

来自分类Dev

如何在BeautifulSoup中使用Unicode结果

来自分类Dev

如何在sed中使用grep结果

来自分类Dev

如何在linq中使用group by

来自分类Dev

如何在LINQ Join中使用AND

来自分类Dev

如何在Linq查询中使用.ToList()?

来自分类Dev

如何在linq中使用sql函数

来自分类Dev

如何在Linq中使用if else

来自分类Dev

如何在Linq中使用Select

来自分类Dev

如何在LINQ中使用聚合函数?

来自分类Dev

如何在Linq SQL中使用Groupby

来自分类Dev

如何在LINQ Join中使用AND

来自分类Dev

如何在Linq中使用IN子句

来自分类Dev

如何在sql中使用的linq中使用Left join?

来自分类Dev

如何在WCF和WIF中使用JWT令牌?

来自分类Dev

如何在WCF服务中使用查询字符串?

来自分类Dev

如何在php中使用wcf和svc?

来自分类Dev

如何在 LINQ to SQL 中的第二次加入中使用第一次加入的结果

来自分类Dev

如何在C#中使用LINQ转换JSON字符串

来自分类Dev

如何获得在C ++中使用C回调返回的结果

来自分类Dev

如何在API JSON结果中返回文件?

来自分类Dev

如何在JSON-LD中返回SPARQL结果?

来自分类Dev

如何在API JSON结果中返回文件?

来自分类Dev

在 Sum 中使用时,LINQ 如何返回 0 代替 NULL?