在 C# 中将 NHibernate IList 转换为列表
我有 NHibernate IList。我想转换为列表。请帮我。
这是我的代码
IList<Tag> list = Tag.GetAll();
我想将其转换为列表
public class CategoryTag
{
public int ID { get; set; }
public string TagName { get; set; }
public CategoryTag()
{
}
public List<CategoryTag> GetCategoryTagList()
{
IList<Tag> list = Tag.GetAll();
// How do I return Tag as List?
return tagList;
}
}
更新
我想更新我的问题,因为我的问题没有得到很好的解释。
这是我将其传递给 jQuery UI 自动完成的代码:
[WebMethod]
public IList<Tag> FetchTagList(string tag)
{
var ctag = new List<Tag>(Tag.GetAll())
.Where(m => m.TagName.ToLower().StartsWith(tag.ToLower()));
return ctag.ToList();
}
我收到以下错误:
无法序列化接口 System.Collections.Generic.IList`1[[QuestionCenter.Domain.Tag, QuestionCenter.Domain, Version=1.0.0.0, Culture=neutral , PublicKeyToken=null]]。
任何将 IList 传递到 JSON 的解决方案都会对我有所帮助。谢谢。
I have NHibernate IList. I want to convert to a List. Please help me.
Here is my code
IList<Tag> list = Tag.GetAll();
I want to convert this to list
public class CategoryTag
{
public int ID { get; set; }
public string TagName { get; set; }
public CategoryTag()
{
}
public List<CategoryTag> GetCategoryTagList()
{
IList<Tag> list = Tag.GetAll();
// How do I return Tag as List?
return tagList;
}
}
Update
I want to update my question since my question is not well explained.
Here is my code to pass it to jQuery UI Autocomplete:
[WebMethod]
public IList<Tag> FetchTagList(string tag)
{
var ctag = new List<Tag>(Tag.GetAll())
.Where(m => m.TagName.ToLower().StartsWith(tag.ToLower()));
return ctag.ToList();
}
I get following error:
Cannot serialize interface System.Collections.Generic.IList`1[[QuestionCenter.Domain.Tag, QuestionCenter.Domain, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]].
Any solution to pass my IList to JSON will help me. Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用 LINQ:
Using LINQ:
使用 .ToList() 扩展方法:
Use .ToList() extension method:
您需要将返回类型更改为 Tag[] 并使用 ToArray() 而不是 ToList()。 IIRC,您无法在 Web 方法中序列化 IList。
You need to change the return type to Tag[] and use ToArray() instead of ToList(). IIRC, you cannot serialize an IList in a webmethod.
return Tag.GetAll().ToList() 不适合您?
return Tag.GetAll().ToList() does not work for you?
更新
根据您对答案的评论,我将使用 AutoMapper 代替。
Update
Based on your comment to your answer I would use AutoMapper instead.