すでに解決済みになっていますが・・・
ASP.NET MVC での案を書いておきます。
既存の DB から ADO.NET Entity Data Model ウィザードを使って作った EDM に含まれるコンテキストクラスを使っているそうですが、であればわざわざそれから List<T> 型のオブジェクトを作る必要はなく、そのコンテキストクラスを直接使うべきと思います。
以下の画像は Microsoft が提供しているサンプルデータベース Northwind から EDM を生成したものです。
以下のように読み替えれば質問者さんのケースと形は同じになると思います。
Oreder_Datails ⇒ Table_UseData
Products ⇒ Table_License
Suppliers ⇒ Table_Account
ProductID ⇒ LisenceID
SupplierID ⇒ AccountID
EDM に含まれるコンテキストクラスを使って以下のように JOIN して where 句で条件を付ければ望む結果が得られるはずです。
private NORTHWINDEntities db = new NORTHWINDEntities();
public ActionResult OrderDetails()
{
var model = from orderdatail in db.Order_Details
join product in db.Products on orderdatail.ProductID equals product.ProductID
join supplier in db.Suppliers on product.SupplierID equals supplier.SupplierID
where supplier.SupplierID == 1
select orderdatail;
return View(model);
}
View に渡して表示すると以下の画像の通りとなります。
【追記】
下のコメントに「List<T> 型からも同様に可能です。後で回答欄に追記しておきます」と書きましたがそれを以下に書きます。
上の回答のコードで、db.XXXXX に ToList メソッドを適用すれば List<T> 型のオブジェクトになりますが、List<T> 型のオブジェクトの場合でも全く同等な Linq 式が使えます。Linq to Entities か Linq to Objects かの違いがあるだけです。
質問者さんのケースでは他システムと連携して以下のように List<T> 型のオブジェクトを取得済みなのですよね。
List<Table_UseData> useData
List<Table_License> license
List<Table_Account> account
であれば、以下のようにして望む結果が得られるのではないかと思います。
var model = from u in useData
join l in license on u.LisenceID equals l.LisenceID
join a in account on l.AccountID equals a.AccountID
where a.AccountID == 1
select u;
List<Table_UseData> からだけデータが得られれば良く、List<Table_License>、List<Table_Account> のデータは不要であればもっと単純に以下のようにしてもよさそうです。お試しください。
var model = from u in useData
join l in license on u.LisenceID equals l.LisenceID
where l.AccountID == 1
select u;
注:Linq to Entities と Linq to Objects の違いは以下の記事を見てください。どちらが良いかは適材適所ですが、ASP.NET MVC + EDM なら前者だと思います。
Linq to Entities / Objects
http://surferonwww.info/BlogEngine/post/2019/02/13/difference-in-linq-to-entities-and-objects.aspx