对于RavenDB,ID POCO属性必须区分大小写吗
本文关键字:须区 大小写 属性 RavenDB ID POCO 对于 | 更新日期: 2023-09-27 18:28:17
我正在使用音乐商店的样本数据,我有一个类似的POCO:
public class Album
{
public Genre Genre { get; set; }
public Artist Artist { get; set; }
public string ID { get; set; } /***** NULL *****/
public string AlbumArtUrl { get; set; }
public double Price { get; set; }
public string Title { get; set; }
public int CountSold { get; set; }
}
但是,当我检索数据时,ID属性为null。如果我将属性更改为Id,那么它将被填充。这似乎表明,该财产必须是特定的情况。
数据如下:
{
"AlbumArtUrl": "/Content/Images/placeholder.gif",
"Genre": {
"Id": "genres/1",
"Name": "Rock"
},
"Price": 8.99,
"Title": "Let There Be Rock",
"CountSold": 0,
"Artist": {
"Id": "artists/1",
"Name": "AC/DC"
}
}
有趣的是,对于流派&艺术家POCO改变POCO财产的情况并没有什么不同。我想知道这是否是因为它在JSON中明确表示为属性,而Album中的Id则不是。
默认情况下,我们会查找名为"Id"的属性,是的,属性名称中的大小写很重要。
您可以通过更改Conventions.FindIdentityProperty
来更改该约定
例如