ste*_*myu 1 c# linq silverlight wcf casting
我有一个查询,它只从 silverlight4 域服务中的实体返回一列。如何将结果转换为列表?
public List<string> GetDataForTags()
{
var result = from d in this.ObjectContext.vwBusinessUnits
select d.BusinessLineID.Distinct();
return result;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用
return result as List<ToList();
Run Code Online (Sandbox Code Playgroud)
和
return result.Cast<string>().ToList();
Run Code Online (Sandbox Code Playgroud)
但我得到一个无法隐式转换类型错误从Generic.IEnumerable<string>
到Generic.List<string>
目前我可以使用
var result = from d in this.ObjectContext.vwBusinessUnits
select d.BusinessLineID;
return result.Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
我正在尝试在视图模型中使用此结果,但出现转换错误
private void LoadBUGroupTags()
{
TagsData = SecurityDomainContext.Current.GetDataForTags();
}
Run Code Online (Sandbox Code Playgroud)
错误 1 无法将类型“System.ServiceModel.DomainServices.Client.InvokeOperation>”隐式转换为“System.Collections.Generic.List”
和 TagsData 只是一个公共财产
public List<string> TagsData
{
get
{
return _tags;
}
set
{
if (_tags != value)
{
_tags = value;
OnNotifyPropertyChanged("TagsData");
}
}
}
Run Code Online (Sandbox Code Playgroud)
不太清楚所涉及的类型是什么 - 但它d.BusinessLineID
是一个字符串,那么你最终会得到一个IQueryable<IEnumerable<char>>
不是你想要的。
我怀疑你想要:
var result = from d in this.ObjectContext.vwBusinessUnits
select d.BusinessLineID;
return result.Distinct().ToList();
Run Code Online (Sandbox Code Playgroud)
这更简单地写(IMO)没有查询表达式:
return this.ObjectContext.vwBusinessUnits
.Select(d => d.BusinessLineID)
.Distinct()
.ToList();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10645 次 |
最近记录: |