积极答复者
DomainServices 如何返回自定义实体

问题
-
public class DictionaryItem { [Key] public int Id { get; set; } public String Name { get; set; } } public IQueryable<DictionaryItem> GetDictionaryItemData() { ObjectQuery<DictionaryItem> dicData = new ObjectQuery<DictionaryItem>( "select value row(c.id,c.name) from Categories as c", this.ObjectContext); return dicData; }
DictionaryItem 是一个自定义的类,我想把查出来的数据以DictionaryItem类型传到sl端。上面的代码无法实现转换。
或者有其它的方法实现这种功能也可以。
请各位大侠指教。
答案
-
你这个query是否正确呢?
ObjectQuery<DictionaryItem> dicData = new ObjectQuery<DictionaryItem>(
"select value row(c.id,c.name) from Categories as c", this.ObjectContext);
你可以直接用Entity Framework执行这个吗?为什么要 用ObjectQuery呢?
你可以直接这样:
public IQueryable<DictionaryItem> GetDictionaryItemData()
{return this.ObjectContext.Categories.Select(p => new DictionaryItem{Id = p.Id, Name = p.Name}).AsQueryable<DictionaryItem>();
}
- 已标记为答案 蔡风 2010年5月11日 3:21
全部回复
-
你这个query是否正确呢?
ObjectQuery<DictionaryItem> dicData = new ObjectQuery<DictionaryItem>(
"select value row(c.id,c.name) from Categories as c", this.ObjectContext);
你可以直接用Entity Framework执行这个吗?为什么要 用ObjectQuery呢?
你可以直接这样:
public IQueryable<DictionaryItem> GetDictionaryItemData()
{return this.ObjectContext.Categories.Select(p => new DictionaryItem{Id = p.Id, Name = p.Name}).AsQueryable<DictionaryItem>();
}
- 已标记为答案 蔡风 2010年5月11日 3:21
-
你好!
我按照你的方法
public IQueryable<DictionaryItem> GetDictionaryItemData()
{
return this.ObjectContext.Categories.Select(p => new DictionaryItem { Id = p.CategoryID, Name = p.CategoryName }).AsQueryable<DictionaryItem>();
}但是在前台取到的数据条数为0;
本人刚学Ria,所以对这方面还不了解。其实我的目的是:把查出来的数据,以自定义的类(DictionaryItem)的形式返回到sl端。
不知你有没有相关的例子,或是资料。
谢谢了。
-
你这个query是否正确呢?
ObjectQuery<DictionaryItem> dicData = new ObjectQuery<DictionaryItem>(
"select value row(c.id,c.name) from Categories as c" , this .ObjectContext);
你可以直接用Entity Framework执行这个吗?为什么要 用ObjectQuery呢?
你可以直接这样:
public IQueryable<DictionaryItem> GetDictionaryItemData()
{return this.ObjectContext.Categories.Select(p => new DictionaryItem{Id = p.Id, Name = p.Name}).AsQueryable<DictionaryItem>();
}
按这种方法是可以取到数的。之前获取时,是因为数据还没有加载。
能否说一下这个数据是什么时候加载的?或是哪有资料看一下?谢谢了