c# – WCF Json数据返回
发布时间:2020-12-15 21:20:10 所属栏目:百科 来源:网络整理
导读:这就是我的问题和要求. //下面是我的一个类函数列表,即用户,我有10-15个类函数 public IEnumerableEntity.User User() { OpenStoredPorcedure("spDB"); DataSet d = ExecuteDataSet(); DataTable myDataTable = d.Tables[0]; var stList = new ListEntity.Us
这就是我的问题和要求.
//下面是我的一个类函数列表,即用户,我有10-15个类函数 public IEnumerable<Entity.User> User() { OpenStoredPorcedure("spDB"); DataSet d = ExecuteDataSet(); DataTable myDataTable = d.Tables[0]; var stList = new List<Entity.User>(); foreach (DataRow dr in myDataTable.Rows) { Entity.User usr = new Entity.User() { FirstName = dr["first_name"].ToString() ?? null,LastName = dr["last_name"].ToString() ?? null }; stList.Add(usr); } return stList.AsEnumerable(); } 现在在WCF我想要一个像下面这样的功能 public IEnumerable fetchData(int id) { IEnumerable result1 = null; switch (id) { case 1: IEnumerable<Entity.User> result = User().AsEnumerable<Entity.User>().ToArray(); result1 = result; break; case 2: IEnumerable<Entity.Project> result = User().AsEnumerable<Entity.Project>().ToArray(); result1 = result; break; } return result1; } 但是我在使用上述方法时遇到此错误 请求错误 现在我希望在WCF中我们调用这个函数并传递id,它将导致该实体类的json列表. 当我使用以下功能时,我正在获取Json数据 public List<Entity.User> fetchData() { return User().ToList(); } 解决方法
如果您在返回的类型之间有基类和继承,则应在基类datacontract上添加KnownType属性,然后在属性中指定所有派生类型
像这样的东西 [KnownType(typeof(YourDerivedType))] 这是一些帮助:http://blogs.msdn.com/b/sowmy/archive/2006/06/06/all-about-knowntypes.aspx 在你返回一个彼此不相关的类型的情况下,你应该按照OsQu的建议做一些事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |