"LEFT JOIN"を作成しようとしています。左結合エンティティフレームワークが実行されていません
しかし、「両方のテーブルに」という情報があるときだけ、コマンドは何かを返します。私はこれを行う必要があり、私の機能
public IList<ClientWorkFlowReadModel> GetWorkFlow(int idClient)
{
try
{
using (GvisaContext db = new GvisaContext())
{
//Disable de proxy tracking for prevent error in json convertion
db.Configuration.ProxyCreationEnabled = false;
var clientServiceWorkFlows = db.ServicesWorkFlow
.Join(db.ClientsServicesWorkFlow,
swf => swf.IdServiceWorkFlow,
cswf => cswf.IdServiceWorkFlow,
(swf, cswf) =>
new { swf, cswf })
.Select(x => new ClientWorkFlowReadModel {
Title = x.swf.Title,
IdClient = x.cswf.IdClient,
IdService = x.swf.IdService,
IdClientServiceWorkFlow = x.cswf.IdClientServiceWorkFlow,
Description = x.swf.Description,
Active = x.swf.Active,
DateUpdate = x.cswf.DateUpdate
}
).Where(y => y.IdClient == idClient).ToList();
return clientServiceWorkFlows;
}
}
catch (Exception ex)
{
throw ex;
}
ベロー
:
SELECT * FROM dbo.Clients z
INNER JOIN dbo.ClientsServices y on y.idClient=z.idClient
INNER JOIN dbo.ServicesWorkFlow a on a.IdService=y.IdService
LEFT JOIN ClientsServicesWorkFlow b on b.IdClientServiceWorkFlow=a.IdServiceWorkFlow
WHERE z.IdClient=3
感謝を!
を使用してエンティティに参加し、[LINQの者の参加は使用しないでください。ナビゲート!](https://coding.abel.nu/2012/06/dont-use-linqs-join-navigate/) –