1

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();
4

1 に答える 1

1

パラメータから引用符を削除します。例: '@p1' の代わりに @p1 – aKzenT

于 2012-09-14T12:27:53.940 に答える