私はテーブルtblVisitor
に訪問者の場所の詳細を格納しています。それは以下の構造を持っています。異なるレコードを選択するためのLinqクエリと異なるレコードのカウント数
vRegion NVARCHAR (100) NULL,
vTimeZone NVARCHAR (100) NULL,
vLat NVARCHAR (MAX) NULL, //Latitude
vLong NVARCHAR (MAX) NULL, //Longitude
次に、このストレージは各session
に依存し、session
が満了したときに同じ位置の詳細が再び格納されるかもしれません。今私はマップでこれを表示しようとしているので、モデルクラスで緯度と経度の詳細を取得しています。私のモデルクラスは以下の通りです:
public class VisitorMapViewModel
{
public int count { get; set;}
public GeoCoordinate coords { get; set; }
}
下記のようにモデルを記入しようとしていますが、運がありません。
List<VisitorMapViewModel> model = new List<VisitorMapViewModel>();
var data = _db.tblVisitors.Distinct().ToList().Select(v => new VisitorMapViewModel()
{
coords = new System.Device.Location.GeoCoordinate(Convert.ToDouble(v.vLat), Convert.ToDouble(v.vLong)),
count = _db.tblVisitors.GroupBy(m => new { m.vLat,m.vLong}).Select(m=>m).Distinct().Count()
}).ToList();
ここで2つの問題は、上記のクエリは、1つまたは他の種類を打つ保持.. double
にタイプnvarchar
のLatitude
とLongitude
値を変換した後、緯度と経度の個別の値を取得し、occurancesの数を数える..あり私がToList()
に変換してDistinct()
の前に交換すると例外が発生します。逆の場合もあります。誰でもこの助けてください。
にすべてのメソッドの構文でとてもこれを行うことができます。..一つの最後の質問は、パフォーマンスとメモリが来る時には、上記の方法で、どちらがあなたが使用することをお勧めします..作品の魅力のように画像に? –
@ GuruprasadRaoパフォーマンスやメモリに関する限り、文字通り同じです。それはもっとスタイルの問題です。最初の部分は、最初の部分がSQL IMOに変換されるLinqですが、2番目の部分は「よりクリーン」に見えることがより明白になります。 – juharr
ニース..おかげさまでもう一度...ハッピーコーディング..私は人々がなぜ私たちが試みたものを示し、良い質問を投稿しようとしているのを鼓舞するのか分からない。 –