MVC 6とEF7を使用してVisual Studio 2015で残りのAPIを構築しています。私は必要ないくつかの特定のデータを返すSQLクエリがあります。Ccase Switchを使用したSQLクエリをLinq Lambdaに変換するには
SELECT jf.JournalID, jf.FileID,
CASE WHEN jf.Acknowledgment = 1 THEN 'Acknowledgment'
WHEN jf.Foreword = 1 THEN 'Foreword'
WHEN jf.Preface = 1 THEN 'Preface'
WHEN jf.Logo = 1 THEN 'Logo'
WHEN jf.Specialty = 1 THEN 'Specialty'
WHEN jf.ContentsTable = 1 THEN 'Table of Contents'
WHEN jf.TitlePage = 1 THEN 'Title Page'
WHEN jf.AuthorIndex = 1 THEN 'Author Index'
ELSE NULL
END AS ArticleType
FROM JournalFile jf
WHERE jf.JournalID = 19 --PARAMETER
私はLINQの、このような何かにこのクエリを変換する必要があります:
var results = (from s in _context.JournalFile
where s.JournalID == jID
select new IATTJService.Models.JournalFileTopLevel
{
JournalID = s.JournalID,
FileID = s.FileID,
ArticleType = (
<< Case options Here >>
)
}).ToList();
case文の各フィールドは、trueまたはfalseを返すバイトフィールドですそれはこのようになります。私はLinqでSQLのケースセクションを実行する方法を知らない。
ご協力いただければ幸いです。
解決策。 http://stackoverflow.com/questions/10761249/converting-sql-case-when-statement-into-c-sharp –
可能重複:http://stackoverflow.com/questions/16191414/using-case-statement-in -linq-query – octavioccl