对于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则不是。

对于RavenDB,ID POCO属性必须区分大小写吗

默认情况下,我们会查找名为"Id"的属性,是的,属性名称中的大小写很重要

您可以通过更改Conventions.FindIdentityProperty 来更改该约定

例如