我有以下数据库结构。
抱歉可怕的MS Paint Work
我使用的是使用实体框架的.NET Framework 4.6.1 Web API控制器。
我的API控制器处理一个接收类似于以下结构的帖子请求。
{ "countryCode": "CA", "languageCode": "EN ","partTypes": "Brakes", "partComponents": "Relay" }
^^上面的请求应该找到部件ID = 1,我想选择部件请求URL
{ "countryCode": "US","languageCode": "EN ","partTypes": " Brakes , Clutch", "partComponents": "Relay"}
^^以上请求应该找到Part ID = 1& 2,我想为两者选择部分请求URL。
“Clutch,Resistor,EN,US”应该找到Part ID = 2等。
我的问题是如何使用LINQ to SQL或<IQueryable>
返回控制器捕获的任何发布请求的部件ID。
到目前为止我一直在研究的当前代码看起来类似于:
内部API控制器:
public string Post(PostProfile postProfile)
string[] partURLArray;
{
using (var context = new context())
{partURLArray = context.ViewName
.Where(fields = > field.CountryCode.Contains(postProfile.countryCode)
.Where(fields => fields.LanguageCode.Contains(postProfile.languageCode)
.Select(fields => fields.PartRequestURL).ToArray();
}
foreach
(var part in partURLArray)
{
//do some stuff
}
return partString
}
发布档案模型类:
public string countryCode { get; set; }
public string languageCode { get; set; }
public string[] partType { get; set; }
public string[] partComponents { get; set; }
答案 0 :(得分:0)
你回答并不清楚,我无法完全明白你想做什么。 据我所知,您希望在一个Query中返回Part1和Part2 URL。如果是真的,那就
using (var context = new context())
{partURLArray = context.ViewName
.Where(fields = > field.CountryCode.Contains(postProfile.countryCode)
OR fields.LanguageCode.Contains(postProfile.languageCode)
.Select(fields => fields.PartRequestURL).ToArray();