标签: entitycollection

排序EF4 EntityCollection <T>的最简单方法是什么?

我想为绑定到ItemsControl(在xaml中)的EntityCollection添加一些排序.我也想尽可能简单地做.看来这是不可能的.

如果我将集合包装在实体中的集合属性的"已排序"版本中,则会丢失集合更改通知.我不能使用CollectionViewSource,因为实体集合的BindingListCollectionView不支持对某些该死的原因进行排序(注意:我已经看到了带有"脏"黑客的博客帖子来解决这个问题,所以请不要回答那个kthx ).

是否有一个简单的(几行xaml,几行代码,无论如何)实现这个方法?

sorting itemscontrol entity-framework-4 entitycollection

7
推荐指数
1
解决办法
2099
查看次数

实体框架 - 相关的ICollection实现了HashSet

我在我的项目中使用EntityFramework POCO +代理+延迟加载.今天,我很奇怪为什么看到该类Transaction具有其相关集合Rows物化到HashSet(而不是EntityCollection).我需要EntityCollection跟踪集合中的更改.

public class Transaction
{
    public virtual ICollection<TransactionRow> Rows { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

然而,其他实体类将其相关集合具体化EntityCollection.

我正在加载Transaction通过ObjectQuery,所以它应该在上下文中.还创建了对象的代理.

任何人都可以告诉 - 实体框架如何决定使用什么 - HashSet或EntityCollection?为什么有些东西会成为HashSets?

entity-framework poco hashset entity-framework-4 entitycollection

6
推荐指数
1
解决办法
1065
查看次数

如何对绑定到EF EntityCollection <T>的WinForms DataGridView进行排序

我正在尝试将WinForms DataGridView绑定到EntityCollection<T>EntityFramework4对象.麻烦的是,我无法弄清楚如何对其进行排序(自动).

我正在做的就是将BindingSource的DataSource属性设置为实体的集合.

MyBindingSource.DataSource = CurrentItem.InvoiceNotes;

我真的希望有一个简单的配置,我可以添加到它,以使其工作; 我真的不想将我的EF Collection包装在一个新的BindingList容器中.

c# datagridview winforms entity-framework-4 entitycollection

5
推荐指数
1
解决办法
1万
查看次数

如何在绑定到EntityCollection时获取Windows窗体DataGridView以显示新记录

尝试在运行时向EntityCollection添加新记录,并使用新信息更新DataGridView.

我已经尝试将datagridview直接绑定到实体集合(即ObjectSet),并通过绑定到同一集合的BindingSource.

我已经尝试了DataGridView.Refresh(),DataGridView.EndEdit()和BindSource.ResetBindings()等,但似乎没有任何效果.

.net datagridview winforms entitycollection

5
推荐指数
1
解决办法
2893
查看次数

EntityFramework EntityCollection观察CollectionChanged

我首先在应用程序中使用EntityFramework数据库.我想以某种方式通知EntityCollection我的ViewModel中的更改.它没有直接支持INotifyCollectionChanged(为什么?)而且我没有成功找到另一个解决方案.

这是我的最新尝试,由于ListChanged事件似乎没有被提升,因此无效:

public class EntityCollectionObserver<T> : ObservableCollection<T>, INotifyCollectionChanged where T : class
{
    public event NotifyCollectionChangedEventHandler CollectionChanged;

    public EntityCollectionObserver(EntityCollection<T> entityCollection)
        : base(entityCollection)
    {
        IBindingList l = ((IBindingList)((IListSource)entityCollection).GetList());
        l.ListChanged += new ListChangedEventHandler(OnInnerListChanged);
    }

    private void OnInnerListChanged(object sender, ListChangedEventArgs e)
    {
        if (CollectionChanged != null) 
            CollectionChanged(this, new NotifyCollectionChangedEventArgs(NotifyCollectionChangedAction.Reset));
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有人有任何想法我如何观察变化EntityCollection

c# entity-framework inotifycollectionchanged entitycollection

5
推荐指数
1
解决办法
3340
查看次数

在LINQ C#中使用OR条件

我在LINQ c#中编写以下SQL查询

  SELECT max(creation_date) from TRS where approval_status='APPROVED' and transaction_type in ('Sale','PRE') 
Run Code Online (Sandbox Code Playgroud)

我尝试在列表上构建以下查询,如下所示

var session = txns.Where(a => a.transaction_type.Equals("SALE"))
                     .Where(a => a.transaction_type.Equals("PRE"))
                     .Where(a => a.approval_status.Equals("APPROVED"))
                     .OrderByDescending(a => a.creation_date).Select(a => a.creation_date).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

上面的查询没有用,因为我不确定如何在LINQ中使用Max和OR条件c#

我可以知道更好的解决方案吗?

c# linq list entitycollection

3
推荐指数
1
解决办法
7540
查看次数