これを試してみてください私は調整しようとするが、これは誤り
string data = "[";
var re = (from veh in DB.tblVeh
join regh in DB.tblRe on
new{MID=veh .MID} equals new {MID=tblRe .FID}
where !(veh .VName == "")
group veh by veh .VName into g
select new
{
Name = g.Key,
cnt = g.Select(t => t.Name).Count()
}).ToList();
data += re.ToList().Select(x => "['" + x.Name + "'," + x.cnt + "]")
.Aggregate((a, b) => a + "," + b);
data += "]";
を示しタイプ。 linq2sqlは、クエリをSQL文に変換して実行できる必要があります。 私は最善の解決策は、データベースからintrestの行をフェッチし、次に結合を行うことだと思います。この方法では、SQLに変換する必要がないので、どのコードでも使用できます。
//Get the list of items from tblVeh
var listOfVehs =
(from veh in DB.tblVeh
where !(veh.VName == "")
select veh).ToList();
//Get all MID from the vehs and convert to string.
var vehMIDs = listOfVehs.Select(x => x.MID.ToString()).ToList();
//Get all items from tblRe that matches.
var listOfRes = (from re in DB.tblRe
where vehMIDs.Contains(re.FID)
select re).ToList();
//Do a in code join
var re = (
from veh in listOfVehs
join regh in listOfRes on veh.MID.ToString() equals regh.FID
group veh by veh.VName into g
select new
{
Name = g.Key,
cnt = g.Select(t => t.Name).Count()
}).ToList();
単純に 'int'を' string'と比較することはできません。どちらか一方を他方のタイプに変換する必要があります。 –
私はどのように変換する? –
通常は 'veh.MID.ToString()'と言いますが、これがこの式で可能かどうかはわかりません。 –