私はEFコアでASP.NET Web APIコアを使用してJSON形式のレコードを返すメソッドを作成しています。EFコアMySQLのような(可変)オペレータ
Microsoft.EntityFrameworkCoreで発生型 'MySql.Data.MySqlClient.MySqlException' の例外:
私はオペレータ等(%のvarible%)をためが含ま使用し、エラーが以下のメッセージで発生しました.dllはユーザーコードで処理されませんでした追加情報:SQL構文に誤りがあります。あなたのMySQLサーバのバージョンに対応するマニュアルをチェックし、正しい構文が '%'の近くで使用されるようにしてください。
ORDER BY
p
StoreId
,p
。ライン4
でCategoryId
'はシンボルが正しい位置にない%のいずれかと思われます。
コードとraw SQLの出力を確認しましたが、問題はありませんでした。
誰かが私を助けることを願っています!依存関係を持つ
var query = from p in db.Products
join c in db.ProductCategory
on new { p.StoreId, p.CategoryId } equals new { c.StoreId, c.CategoryId } into pc
from c in pc.DefaultIfEmpty()
where (p.ProductName.Contains("a"))
select p;
query.ToList()
生SQL
SELECT `p`.`StoreId`, `p`.`ProductId`, `p`.`CategoryId`, `p`.`Description`, `p`.`ImagePath`, `p`.`ProductName`, `p`.`SalesPeriodFrom`, `p`.`SalesPeriodNeverEnd`, `p`.`SalesPeriodTo`, `p`.`SalesUnit`, `p`.`UnitPrice`, `c`.`StoreId`, `c`.`CategoryId`, `c`.`CategoryName`
FROM `Products` AS `p`
LEFT JOIN `ProductCategory` AS `c` ON (`p`.`StoreId` = `c`.`StoreId`) AND (`p`.`CategoryId` = `c`.`CategoryId`)
WHERE `p`.`ProductName` LIKE ('%' + 'a') + '%'
ORDER BY `p`.`StoreId`, `p`.`CategoryId`
のWindows 7のx64
のVisual Studio 2015 Professionalの
のMySQL 5.6.17
のMicrosoft .NETのコア1.0.1
"Microsoft.ApplicationInsights.AspNetCore": "1.0.2",
"Microsoft.AspNetCore.Mvc": "1.0.1",
"Microsoft.AspNetCore.Routing": "1.0.1",
"Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
"Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
"Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
"Microsoft.Extensions.Logging": "1.0.0",
"Microsoft.Extensions.Logging.Console": "1.0.0",
"Microsoft.Extensions.Logging.Debug": "1.0.0",
"Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
"MySql.Data.EntityFrameworkCore": "7.0.5-IR21",
"System.Linq.Dynamic.Core": "1.0.6.6"
クエリ可能に設定して、where述語を適用しようとしましたか? –
私は同じ問題を抱えていますが、解決策を見つけましたか? – shahaf