Я работаю над веб-API, используя EntityFramework. EntityFramework построен как отдельный проект. В API у меня есть следующая модель:
namespace Web_API.Models
{
[Table("SomeFiles")]
public class SomeFilesViewModel
{
[Key]
public int FileId { get; set; }
public int PatchNumber{ get; set; }
public string Name { get; set; }
public string Type { get; set; }
}
}
А в EF у меня есть следующие сущности:
namespace SomeDataAccess
{
public partial class Patch
{
public int PatchID { get; set; }
public double Number { get; set; }
}
public partial class PatchFile
{
public int FileID { get; set; }
public int PatchID{ get; set; }
public string Name { get; set; }
public string Type { get; set; }
}
}
Как я могу реализовать метод GET, используя LINQ, чтобы вернуть список файлов между двумя Patch
числами (не идентификаторами исправлений)? Ниже приведено то, что у меня есть, но «Число» не указано в качестве свойства файлов, хотя я к нему присоединился.
public async Task<IHttpActionResult> GetSomeFileViewModels(double StartingPatch, double EndingPatch)
{
var files = from pf in _context.PatchFiles
join p in _context.Patches on pf.PatchID equals p.PatchID
select pf;
var patchFiles = await files.Where(i => i.Number(???) >= StartingPatch & i.Number <= EndingPatch)
.Select(someFiles => new SomeFileViewModel
{
FileId = files.FileID,
PatchNumber = (???),
Name = files.Name,
Type = files.Type,
}).ToListAsync();
return !patchFiles.Any()
? (IHttpActionResult)NotFound()
: Ok(patchFiles);
}