【发布时间】:2009-03-12 04:46:25
【问题描述】:
我很困惑。我有一个 Silverlight 项目,目前正在运行并显示我的模拟模型中的服务器列表(我遵循 MVVM 模式)。
接口代码如下:
public class GetServersCompletedEventArgs : EventArgs
{
public Exception Error {get; set;}
public IEnumerable<LicenseServer> Results {get; private set;}
public GetServersCompletedEventArgs(Exception error, IEnumerable<LicenseServer> results)
{
this.Error = error;
this.Results = results;
}
}
public delegate void GetServersCompletedEvent(GetServersCompletedEventArgs e);
public interface IDataService
{
void GetServers();
event GetServersCompletedEvent GetServersCompleted;
}
您可以看到 CompletedEventArgs 将结果作为 IEnumerable 返回。
我遇到的问题是定义<LicenseServer> 的方式是我可以用假数据存根它或从真实数据填充结果(ala ado.net 数据服务)。
我创建了一个本地类 LicenseServer,但服务总是返回不同类型的 LicenseServer。
我收到一个错误:
convert 无法转换类型的对象 'DataServiceOrderedQuery[LicenseMon.LMonServiceReference.License_Server]' 输入 'System.Data.Services.Client.DataServiceQuery`1[LicenseMon.Model.LicenseServer]
我从服务参考中读取为 LicenseServer 的内容无法转换为我在模型类中定义的 LicenseServer
为什么我会遇到麻烦?我不应该能够独立开发我的课程并能够在实时数据库和我内部生成的数据之间切换吗?我是不是走错了路?
任何代码示例、解释、链接等都会很有帮助
【问题讨论】:
标签: c# silverlight mvvm wcf-data-services