を使用して参加した後、テーブルからの和を使用してデータを取得し、私はEDMXがありますか?フリーランサーが新規の場合、FreelancerPaymentテーブルには常にAmountがありません。私はちょうど彼らの詳細と合計でフリーランサーのリストが欲しい。 私はこの試みた:複数のLINQ
var freelancers = (from fl in db.FreelancerLogins
join f in db.Freelancers
on fl.FreelancerID equals f.FreelancerID
select new
{
FreelancerID = fl.FreelancerID,
UserName = fl.UserName,
EmailAddress = fl.EmailAddress,
EmailConfirmed = fl.EmailConfirmed,
Status = fl.Status,
LogInTime = fl.LogInTime,
LogOutTime = fl.LogOutTime,
Picture = f.Picture,
Title = f.Title,
Name = f.FirstName + " " + f.LastName,
Overview = f.Overview,
JoiningDate = f.JoiningDate,
BirthDay = f.BirthDay,
Rate = f.Rate,
Location = f.Location,
//Earn = (fp.Amount == null ? 0 : fp.Amount)
Earn=(
from fla in db.Freelancers
join apl in db.AppliedJobs
on fla.FreelancerID equals apl.FreelancerID into apll
from ap in apll.DefaultIfEmpty()
join jo in db.JobOffers
on ap.AppliedJobID equals jo.AppliedJobID into joo
from jobo in joo.DefaultIfEmpty()
join c in db.Contracts
on jobo.OfferID equals c.OfferID into coo
from con in coo.DefaultIfEmpty()
join fpay in db.FreelancerPayments
on con.ContractID equals fpay.ContractID into fpayy
from fp in fpayy.DefaultIfEmpty()
select fp.Amount).Sum()
}).AsEnumerable();
return freelancers.AsEnumerable();
金額を。どのように特定のフリーランサーのwhere節を入れることができますか?
この収益は、すべてのユーザーに対して個別のクエリを作成しています。その不足している "fl.Freelancrid"。 – Searching
@Searchingは正しい - サブクエリにはwhere句がなく、外側の結果セットに基づいてフィルタリングする方法もありません。 –
ここで「fl.Freelancrid」を追加しますか?私は 'Earn =( fla from db.Freelancersどこfl.FreelancerID.Equals(fla.FreelancerID)'を試みたが、それは500(内部サーバーエラー)を返す – Fawel