c# - 如何将 DbSet 转换为 ObservableCollection

标签 c# .net wpf

我想创建一个值转换器来转换 DbSet<MyEntity>ObservableCollection<MyEntity>这样我就可以轻松地将它绑定(bind)到 WPF XAML 中的组合框。我希望它适用于所有类型。

到目前为止我已经尝试过了。

class DbSetToObservableCollectionConverter:IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        try
        {
            DbSet<T> d = (DbSet<T>)value; //How do I know what to put in place of T
            return new ObservableCollection<T>(d);
        }
        catch(Exception ex)
        {
            return value;
        }
    }

    public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
    {
        throw new NotImplementedException();
    }
}

这不起作用,因为 T 并不是真正的类型。 有人可以帮我做什么吗?

最佳答案

拥有:

 DbSet<Thread> Threads;

用途:

ObservableCollection<Thread> Threads;            

 using (var db = new MyContext())
        {
            Threads =new ObservableCollection<Thread>(db.Threads);
        }

关于c# - 如何将 DbSet 转换为 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17410975/

相关文章:

c# - 为什么 VS 经常使用 "this"?

wpf - 动态数据显示X轴平滑滚动

wpf - 使 Viewbox 垂直缩放但水平拉伸(stretch)

c# - WPF - ToString 的 Raise 属性已更改

c# - 无法使用 C# 保存 Excel 文件

.net - "active directory integration"在您的 .NET 应用程序中意味着什么?

c# - 是否有任何好的 .Net 库用于构建任意 sql 命令?不是关系数据

.net - 如何在wpf中添加.net图表组件

c# - 将 .NET 应用程序的异常记录到 zabbix

.NET 内存泄漏 - System.WeakReference 对象累积