3

我目前正在使用 C# 中的一个小型 N 层应用程序,它使用 Linq-to-Entities(用于 DB 的 SQL Express 2005)和 WPF,我想知道我的业务逻辑层应该向用户界面提供什么类型的数据收集.

将诸如 datagridviews 之类的表单对象绑定到 IQueryable 是否有缺点(性能、验证等)?我应该填充内存中的 DataTable 并将其传递给 UI 吗?DataContext应该在哪一层初始化?

4

2 回答 2

5

要添加到 Marc 的列表中,您可能还想查看ObservableCollection<T>

编辑:ObservableCollections 通常用于 MVVM 模式,请在此处阅读以查看一些示例。

于 2009-02-25T08:13:38.520 回答
4

你不能正确地绑定到一个IQueryable<T>(除了在 ASP.NET 中IEnumerable<T>很好的地方)——理想情况下它需要一个可重复的对象列表。使用DataTable是违反直觉的。你只需要一个List<T>/BindingList<T>等;IE

var qry = ...;
var list = qry.ToList();

现在list用作绑定源。

IMO,数据上下文将隐藏在存储库接口后面,但您的里程可能会有所不同。

于 2009-02-25T08:10:11.850 回答