【发布时间】:2015-05-21 17:44:23
【问题描述】:
我正在尝试将 RadGridView 绑定到 EntityFrameworkDataSource,这样我就可以避免自己编写分页/过滤,但我无法让它工作。我已经检查了 Telerik 的示例,但它似乎也不起作用。使用带 EF 6 的 WPF
我的背景:
public class TIMSContext : DbContext
{
public TIMSContext()
: base("name=TIMSContext") { }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
//map models here...
}
public IQueryable<T> Query<T>()
{
return this.Set(typeof(T)).AsQueryable() as IQueryable<T>;
}
}
我的 XAML:
<telerik:RadGridView x:Name="RadGridView1"
Grid.Row="0"
AlternateRowBackground="CornflowerBlue"
AlternationCount="2"
AutoGenerateColumns="True"
CanUserDeleteRows="False"
CanUserFreezeColumns="False"
CanUserInsertRows="False"
GroupRenderMode="Flat"
IsReadOnly="True"
ItemsSource="{Binding ShipmentData}"
RowIndicatorVisibility="Collapsed" />
<telerik:RadDataPager Grid.Row="1"
DisplayMode="FirstLastPreviousNextNumeric"
PageSize="25"
Source="{Binding ShipmentData}" />
我的视图模型:
public class ShipmentsViewModel :ViewModelBase
{
private readonly QueryableEntityCollectionView<TIMS.Data.Entities.ASN> shipments;
private readonly TIMS.Data.TIMSContext ctx;
public ShipmentsViewModel()
{
try
{
ctx = new Data.TIMSContext();
shipments = new QueryableEntityCollectionView<Data.Entities.ASN>(ctx, "ASN");
//Argument 1: cannot convert from 'TIMS.Data.TIMSContext' to 'System.Data.Objects.ObjectContext'
//Also tried this which I saw on some forums...
//shipments = new QueryableEntityCollectionView<Data.Entities.ASN>( ((IObjectContextAdapter)ctx).ObjectContext, "ASN");
//Argument 1: cannot convert from 'System.Data.Entity.Core.Objects.ObjectContext' to 'System.Data.Objects.ObjectContext'
}
catch (Exception)
{
}
}
#region Properties
public Object ShipmentData
{
get
{
return shipments;
}
}
#endregion
}
【问题讨论】:
标签: wpf mvvm telerik entity-framework-6 radgridview