Entity Framework でストーリー クエリを実行しようとしています。
私はこれを何年も試してきました。私が渡しているデータ型は double として始まります。次に、SQL の real が single であることがわかったので、single に変換します。
(半径は整数)
しかし、私はこのエラーが発生します。
データ型 varchar を real に変換中にエラーが発生しました。
var query = context.ExecuteStoreQuery<SearchIndex>("select * FROM dbo.ItemsWidthinRadiusMilesSearchIndex('{0}','{1}','{2}')", Convert.ToSingle(geo.Latitude), Convert.ToSingle(geo.Longitude), radius).ToList();
誰でも助けることができますか?
編集、この構文でまだ問題が発生しています:
SqlParameter lat = new SqlParameter() { ParameterName = "p1", Value = Convert.ToSingle(geo.Latitude) };
SqlParameter lng = new SqlParameter() { ParameterName = "p2", Value = Convert.ToSingle(geo.Longitude) };
SqlParameter radiusParam = new SqlParameter() { ParameterName = "p3", Value = radius, DbType = System.Data.DbType.Int32 };
var paramsToPass = new object[] {lat,lng,radiusParam};
var query = context.ExecuteStoreQuery<SearchIndex>("select * FROM dbo.ItemsWidthinRadiusMilesSearchIndex('@p1','@p2','@p3')",paramsToPass).ToList();