2

OData をサポートする ASP.NET MVC 4 Web-Api サービスがあります。

サービスの主なコンポーネントは次のとおりです。

モデル:

namespace OdataServiceTest.Models
{
    public class Person
    {
        public string Name { get; set; }
        public int Age { get; set; }
        public DateTime BirthDate { get; set; }
        public EnumType Gender { get; set; } // Complex Type
    }

    public class EnumType
    {
        [XmlAttribute]
        public int Key { get; set; }
        [XmlText]
        public string Value { get; set; }
    }
}

そしてコントローラー:

public class PersonsController : ApiController
    {
        // GET api/Persons
        [Queryable]
        public IQueryable<Person> Get()
        {
            Person[] person = new Person[] {
            new Person() { Name="Ronen", Age=23, Gender=new EnumType() { Key=1,Value="Male" } }
            };
            return person.AsQueryable();
        }
}

空のクエリは次の結果を返します

<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Person>
<Name>Ronen</Name>
<Age>23</Age>
<BirthDate>0001-01-01T00:00:00</BirthDate>
<Gender Key="1">Male</Gender>
</Person>
</ArrayOfPerson>

複合型である性別フィールドのクエリを次のようにします。

http://localhost:7116/api/Persons?$filter=Gender eq 1

このタスクを達成するにはどうすればよいですか?

4

1 に答える 1

1

代わりに、このクエリを試してください。

http://localhost:7116/api/Persons?$filter=Gender/Key eq 1
于 2013-09-05T18:48:28.997 に答える