![]() |
1
19
您需要实现一个存储库模式来将WPF关注点与EF分离。 然后,您可以使用泛型来降低EF到CollectionViewSource处理的复杂性。 一个设计良好的存储库应该减少代码级别,并能够替换任何ORM(体面的测试需要)。 这里有一些想法 |
![]() |
2
7
另外,我认为您不需要在这里执行tolist()。我相信ObservableCollection()采用的IEnumerable家族已经是。如果你做了一个tolist,然后把它传递给observablecollection,那么我认为你将循环遍历所有记录两次。
相反,试试这个,应该快一点:
|
![]() |
3
5
我知道你从哪里来。这个 article by Josh Smith 帮助我改变(或开始改变)心态,这样你就可以从WPF中获得一些好处,而不是把它看作一个奇怪的、阻塞的、难以调试的、不友好的框架! |
![]() |
4
4
我的建议是,如果可能的话,使用ExpressionBlend来设计界面,而不是使用代码隐藏,也不是使用Visual Studio设计器,这样可以节省大量时间。同时尝试使用C而不是XAML重新思考。如果你用“wpf”的方式来做,xaml就不那么难看了。通常,当我认为使用代码隐藏而不是XAML更容易时,这是因为我做代码隐藏的方式不对,需要重新考虑如何最好地使用WPF/XAML。一旦你习惯了,XAML就很棒了。我还使用了实体框架,这还不算太好。我更喜欢NHibernate。 |
![]() |
5
2
我从我的博客上跟踪了这个链接,想提及我在英孚身上发现的其他东西。有点离题,但不完全是。 在使用.include时,我注意到了一些有关ef的疯狂性能问题。MS在他们的网站上的一篇文章中解释了原因,因此我实际上已经开始将我的大部分代码转换为使用.load方法。 因为这是一项乏味的任务,因为我找不到其他方法来完成它…我创建了自己的方法“includebyroundtrip”。它所做的是获取一个对象路径并确保加载整个路径。最终结果与使用include时相同,但是在后台,我只是调用对象图中所有属性的load。 如果存在这样的机制,它将类似于执行order.load(“customer.address”)之类的操作。不管怎样,在我的博客上看看,告诉我你的发现。我想知道其他人是否注意到使用include的速度较慢,以及您是否有其他方法来攻击这种情况。 有关我的解决方案的更多信息,请访问: http://blog.nicktown.info/2009/07/27/method-to-load-an-entire-object-graph-using-adonet-entity-framework.aspx . 再次抱歉,这有点离题,但我期待您的回复。 |
![]() |
6
1
另一个工具可能是 BindableLINQ 可绑定的LINQ是对LINQ的一组扩展,用于向标准LINQ查询添加数据绑定和更改传播功能。 |
![]() |
Drago · Linq通过比较Id和具有Id的对象列表来查询获取列表 2 年前 |
![]() |
Niyazi Babayev · 如何在表达式中动态应用表达式? 3 年前 |
![]() |
Murat Güzel · EF存储库模式错误{'Id'}已被跟踪 3 年前 |
![]() |
dotnetdevcsharp · 减少基于数据类型获取设置的方法数量 3 年前 |
![]() |
saravanan049 · 在实体框架中回滚Azure SQL数据库 3 年前 |