答えがMS SQLの質問>here <に尋ねました。これは後続の質問です。本質的には、データベースがMS SQLではなくMySQLであり、LINQクエリのオブジェクトがview
であり、テーブルではないことを除いて同じです。フォローオン:C#Linq文字列とindexOfの比較
私の質問は、MySQLデータベースへのEFクエリです。私は非常によく似たクエリを実行していますが、バックエンドはテーブルの代わりにview
というMySQLデータベースです。私は、MS SQLテーブルのために使用される正確な同じ構文を使用しようとしていています:
from myView in db.companySessions
where myView.machine.ToUpper().Substring(0,
(int) SqlFunctions.CharIndex(myView.machine, "."))
.Equals(machine.ToUpper().Substring(0,
(int) SqlFunctions.CharIndex(machine.ToUpper(), ".")))
db.companySessions
ポイントをMySQLデータベース内のビューに。 machine
は、メソッドに渡され、メソッドによって検証される文字列です。私は例外を取得:私はview
やMySQLへの到達に達していますので
LINQ to Entities does not recognize the method 'Int32 IndexOf(System.String,
System.StringComparison)' method, and this method cannot be translated into
a store expression.
は、このですか?
は、.NETのコアを使用している場合私はそれがMySQLのためだと賭けるでしょう。 – Nikolaus