0

在下面的示例中,我收到一条警告,提示找不到 Item 类。Batch 类很好,即使它位于同一个命名空间中。

批处理是否因为它附加在后面的代码中(QueueModel:Json)而起作用?

这是设计使然还是应该更加一致?

{
   $:{DataType:"Batch"},
   BatchID:123456778,
   Name:"BatchName",
   Items: [
     {
       Message:"Hello my friend!"
     }
   ],
   $Items:{DataType:"MyCompany.Concepts.Item"}
} 
4

1 回答 1

0

如果数据库类与派生类位于相同的命名空间中Json,那么您只需指定类名。如果类(部分类)后面有代码,则无需DataType在 json-by-example 文件中指定属性。

所以它需要在 .json 文件或类后面的(可选)代码中提供。

人-viewmodel.json:

{
   "FirstName":"Albert",
   "LastName":"Einstein",
   "Phonenumbers": [
      {
         "Type":"mobile"
         "Number":"1234"
      }
   ],
   "$Phonenumbers":{"DataType":"MyDatabaseNamespace.Phonenumber"}
}

人-viewmodel.json.cs:

public class PersonViewModel : Json<Person> {
}

因此,如果您只使用 json-by-example 文件(没有后面的代码),则需要提供绑定的数据库类型:

人消息.json:

{
   "$":{"DataType":"MyDatabaseNamespace.Person"},
   "FirstName":"Albert",
   "LastName":"Einstein",
   "Phonenumbers": [
      {
         "Type":"mobile"
         "Number":"1234"
      }
   ],
   "$Phonenumbers":{"DataType":"MyDatabaseNamespace.Phonenumber"}
}
于 2013-04-15T15:40:23.733 回答