gpt4 book ai didi

c# - 如何将 Observable Collection 上的空数据解析为数据网格绑定(bind)?

转载 作者:行者123 更新时间:2023-12-03 10:35:11 26 4
gpt4 key购买 nike

我已经在 MongoLab 上建立了一个数据库。被查询并解析为模型。该模型中的集合依次绑定(bind)到数据网格。但是当我查询数据库时,网格上显示的唯一数据是文档的对象 ID。

为了调试问题,我用每个字段的常量数据初始化了列表,并且绑定(bind)有效,填充了网格上的每个字段。

然后引导我检查我如何将数据映射到模型。

然后,我逐步浏览了从服务器查询返回的 Observable 集合的内容。

这表明正在返回所有数据,但所有模型字段均为空。而是创建一个客户数组,并在单独的客户对象中填充字段。

有谁知道我可以如何进一步调试?

首先,我检查了从查询返回的集合的内容。其中显示了空模型字段和客户数组:

step 1

然后我检查了customers的内容客户数组(已填充):

step 2

文档 JSON 在 MongoLab 中定义,然后映射到应用程序 CustomerModel 中的 CustomerCollection:

http://hastebin.com/ipatatoqif.pl

客户型号:

public class CustomerModel : INotifyPropertyChanged
{

private ObjectId id;
private string firstName;
private string lastName;
private string email;

[BsonElement]
ObservableCollection<CustomerModel> customers { get; set; }


/// <summary>
/// This attribute is used to map the Id property to the ObjectId in the collection
/// </summary>
[BsonId]
public ObjectId Id
{
get
{
return id;
}
set
{

id = value;
}
}

[BsonElement("firstName")]
public string FirstName
{
get
{
return firstName;
}
set
{
firstName = value;
RaisePropertyChanged("FirstName");
}
}

[BsonElement("lastName")]
public string LastName
{
get
{
return lastName;
}
set
{
lastName = value;
RaisePropertyChanged("LastName");
}
}

[BsonElement("email")]
public string Email
{
get
{
return email;
}
set
{
email = value;
RaisePropertyChanged("Email");
}
}


public event PropertyChangedEventHandler PropertyChanged;
private void RaisePropertyChanged(string propertyName)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
}
}
}

这是网格上显示的数据,目前只有 ObjectID:

Orders data grid

最佳答案

我不会存储 ObservableCollection<T>直接在 MongoDB 中。

相反,我会存储一个 List<T>在 MongoDB 中。

为什么?一个 ObservableCollection<T>是特定于 WPF 的数据结构,可能不适用于 MongoDB,除非您 write a custom serializer .

如果您使用的是 MVVM,则需要将存储在 MongoDB 中的数据与 ViewModel 分开。我建议从 MongoDB 中检索数据,然后使用映射器将其映射到您的 ViewModel 中,例如 AutoMapper。或 ExpressMapper .

another person who ran into the same problem .

关于c# - 如何将 Observable Collection 上的空数据解析为数据网格绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33848894/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com