如何在 Simple OData Client 中使用 join 从两个表中检索数据?

How to retrieve data from two tables using join in Simple OData Client?

我正在使用 mvc applicationsimple OData 从两个 table 中检索值。 创建的 ODataClient 对象

ODataClient 客户端 = new ODataClient("http://localhost:65556/Dev");

想要从两个 table 中检索值,就像在 Sql 中一样,我们只是喜欢跟随

  select * from [Table1] t1 join [Table2] t2
  on t1.Id = t2.Id 
  where t1.[Title] = 'US'

现在在 SimpleOdata 中我不知道两个 table 操作一个 table 我们可以简单地做一些像下面这样的事情

ODataClient client = new ODataClient("http://localhost:64576/Dev");  

var packages = await client
                .For<Table1>()
                .Filter(x => x.Title == "US")
                .FindEntriesAsync();
            foreach (var package in packages)
            {
                return package.Title;
            }
            return "test";

如何为两个 table 更正上述表达式?

我想你应该使用扩展功能。看这里 http://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/using-$select,-$expand,-and-$value

ODataClient client = new ODataClient("http://localhost:64576/Dev");  

var packages = await client
.For<Table1>()
.Expand(x => x. Table2)
.Filter(x => x.Title == "US")
.FindEntriesAsync();

foreach (var package in packages)
{
     return package.Title;
}
return "test";