Должно ли свойство ID POCO учитывать регистр для RavenDB? - PullRequest
3 голосов
/ 17 марта 2012

Я использую пример данных музыкального магазина, и у меня есть 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 равно нулю. Если я изменю свойство на 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 Genre & Artist изменение регистра свойства POCO не имеет значения. Интересно, так ли это, потому что оно явно указано как свойство в JSON, а идентификатор в альбоме - нет.

1 Ответ

2 голосов
/ 17 марта 2012

По умолчанию мы ищем свойство с именем «Id», и да, регистр имеет значение в имени свойства.

Это соглашение можно изменить, изменив Conventions.FindIdentityProperty

например

...