私は頭の痛い問題を抱えています。数日前にすでに解決策をグーグルで検索しましたが、まだ見つかりませんでした。もしあなたの誰かが私を助けてくれたら、それは素晴らしいことです!
私はこの方法でSQLステートメントを受け取ります:
private static string GetClause<T>(IQueryable<T> clause) where T : BaseEntity
{
string snippet = "FROM [dbo].[";
string sql = clause.ToString();
string sqlFirstPart = sql.Substring(sql.IndexOf(snippet));
sqlFirstPart = sqlFirstPart.Replace("AS [Extent1]", "");
sqlFirstPart = sqlFirstPart.Replace("[Extent1].", "");
return sqlFirstPart;
}
しかし、これは何らかのフィルター (例: where) を使用しようとすると機能しません。""@p_ linq _{0}" が返されるためです。値の代わりに。これらがクエリのパラメータであることはわかっていますが、どこに保存されていますか?
これは、EF5 Code First でのバッチ削除の目的で使用します。